| 12345678910111213141516171819202122232425262728293031 |
- use strict;
- use warnings;
- use TestRail::API;
- use Test::More;
- use Test::Fatal;
- use Class::Inspector;
- #plan('skip_all' => "these tests are for testing by the author") unless $ENV{'AUTHOR_TESTING'};
- my $tr = TestRail::API->new('http://hokum.bogus','bogus','bogus',undef,1);
- #Call instance methods as class and vice versa
- like( exception {$tr->new();}, qr/.*must be called statically.*/, "Calling constructor on instance dies");
- my @methods = Class::Inspector->methods('TestRail::API');
- my @excludeModules = qw{Scalar::Util Carp Clone Try::Tiny HTTP::Request LWP::UserAgent Data::Validate::URI};
- my @tmp = ();
- my @excludedMethods = ();
- foreach my $module (@excludeModules) {
- @tmp = Class::Inspector->methods($module);
- push(@excludedMethods,@{$tmp[0]});
- }
- foreach my $method (@{$methods[0]}) {
- next if grep {$method eq $_} qw{new buildStepResults _checkInteger _checkString};
- next if grep {$_ eq $method} @excludedMethods;
- like( exception {TestRail::API->$method}, qr/.*called by an instance.*/ , "Calling $method requires an instance");
- }
- done_testing();
|