如何让我的 Perl 测试按给定的顺序执行?

dai*_*isy 5 testing perl

当我使用Test::ClassTest::More进行系统测试时,测试用例似乎是并行执行的。但是,我的测试在它们之间存在依赖关系,因此我希望连续执行测试。我怎样才能做到这一点?

knb*_*knb 3

从底部注释部分的 Test::Unit::TestCase 模块的文档中:

如果需要指定测试顺序,可以执行以下操作之一:

  • 设置@TESTS

    我们的@TESTS = qw(my_test my_test_2);

    这是最简单、也是推荐的方法。

  • 重写list_tests()方法

    返回方法名的有序列表

  • 提供 suite() 方法

    它返回一个 Test::Unit::TestSuite。

我个人的2美分:使用Test::Classinstead ofTest::Unit::TestCase可能是更好的选择。模块文档甚至有一个很好的介绍,以及关于“Confused Junit Users”的有用部分,即使您继续使用 Test::Unit::TestCase ,您也应该阅读该部分。