> On Jul 25, 2018, at 4:07 AM, Kai Schwarz <kschw...@hexonet.net> wrote:
> 
> Hey guys,
> 
> after having reviewed all PrePAN community concerns, I uploaded yesterday our 
> Module to PAUSE/CPAN. Now we got the 1st CPAN Testers Result Report where I 
> can see the tests failing.
> http://www.cpantesters.org/cpan/report/38a33670-8f54-11e8-8fb1-ef5133556b3f
> 
> Our module is available as WebService::Hexonet::Connector, source code can be 
> found at https://github.com/hexonet/perl-sdk.
> 
> I am not sure why it fails, but maybe it is not possible to open urls on the 
> test servers? This could be then the reason why the response breaks expected 
> test results. Of course we need to review this to return at least an 
> alternative error response. Just my 2 cents..
> 
> Can someone help us here or at least provide some useful information?

Another thing to take a look at is the Test::RequiresInternet module 
(https://metacpan.org/pod/Test::RequiresInternet 
<https://metacpan.org/pod/Test::RequiresInternet>) or Test2::Require::Internet 
(https://metacpan.org/pod/Test2::Require::Internet 
<https://metacpan.org/pod/Test2::Require::Internet>), which will help ensure 
that the machine you're testing on can access the Internet addresses the test 
requires.

You may also want to consider mocking out the actual connection to the Internet 
using a module like Mock::MonkeyPatch 
(https://metacpan.org/pod/Mock::MonkeyPatch 
<https://metacpan.org/pod/Mock::MonkeyPatch>) or Test::MockObject 
(https://metacpan.org/pod/Test::MockObject 
<https://metacpan.org/pod/Test::MockObject>). That way your tests can run on a 
machine that doesn't connect to the Internet.

Finally, this test report has a lot of "uninitialized value" warnings, which 
leads me to believe you might not be checking the HTTP response or validating 
your data well enough. You could consider logging some output to STDERR when 
testing, and Log::Any (https://metacpan.org/pod/Log::Any 
<https://metacpan.org/pod/Log::Any>) is a nice, lightweight solution for that, 
though the `diag` function from Test::More is also great for this. With enough 
information in the report, it becomes much easier to figure out what went wrong 
without having to contact the tester about it.

Good luck!



Doug Bell
d...@preaction.me



Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to