【问题标题】:How can I do unit testing in Perl? [closed]如何在 Perl 中进行单元测试? [关闭]
【发布时间】:2010-10-04 21:31:32
【问题描述】:

我一直在做一些 OO Perl 编程,我想知道:执行单元测试的最佳方法是什么?

到目前为止,我一直在使用Test::Simple 模块进行测试,但感觉 不够我想要的。

你能给我指出一些不错的模块吗?

【问题讨论】:

    标签: perl unit-testing testing


    【解决方案1】:

    一旦您掌握了 Test::Simple 的窍门,Test::More 应该会为您带来更多收益。

    【讨论】:

    • 我正在寻找与 JUnit 或 NUnit 接近的东西,具有设置和拆卸方法等...知道吗?
    【解决方案2】:

    在继续进行 Perl 测试之前,我会投票支持Test::MorePerl testing communityTest Anything Protocol 紧密结合在一起,您需要尝试使用 Test::More 来了解它的工作原理以及 proveTest::Harness::Archive 等工具如何帮助自动化和分发测试。

    如果您只想“直接进入”,我认为Test::Class 提供了带有TAP 后端的xTest 设施。我根本没用过(我自己是Test::More 人),但它是very highly rated

    【讨论】:

    • 很好的介绍,谢谢!我习惯于为python和php做单元测试,但很快就会参与一个perl项目,你的帖子肯定对我有帮助:)
    【解决方案3】:

    根据您对 melaos 回答的 cmets 判断,我会说 Test::ClassTest::Unit 是您正在寻找的。​​p>

    【讨论】:

    【解决方案4】:

    简单测试示例:

    #!/usr/bin/perl -w
    
    use strict;
    use warnings 'all';
    use Test::More plan => 4;  # or use Test::More 'no_plan';
    
    use_ok('My::Module', 'Loaded My::Module');
    ok( my $obj = My::Module->new(), 'Can create instance of My::Module');
    
    ok( $obj->value('hello'), 'Set value to hello' );
    is( $obj->value => 'hello', 'value is still hello');
    

    【讨论】:

      【解决方案5】:

      Test::Class 的用法你可以在这个example 中看到。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-21
        • 1970-01-01
        • 2010-09-20
        • 2016-04-23
        • 2011-10-29
        • 1970-01-01
        相关资源
        最近更新 更多