如何使Perl测试按给定顺序执行?

时间:2012-11-26 17:16:34

标签: perl testing

当我使用Test::ClassTest::More进行系统测试时,似乎测试用例并行执行。然而,我的测试之间存在依赖关系,因此我希望测试执行系列。我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

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

如果您需要指定测试订单,可以执行以下操作之一:

  • 设置@TESTS

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

    这是最简单,最推荐的方法。

  • 覆盖list_tests()方法

    返回方法名的有序列表

  • 提供suite()方法

    返回Test :: Unit :: TestSuite。

我个人2美分: 使用Test::Class代替Test::Unit::TestCase可能是更好的选择。模块文档甚至有一个很好的introduction,以及"Confused Junit Users"上有用的部分,即使你继续使用Test :: Unit :: TestCase,你应该阅读它。

答案 1 :(得分:3)

Test::Class按字母顺序执行测试。这很烦人,但是您可以按照以正确顺序执行它们的方式命名您的测试子程序。你确定他们并行运行吗?您是否可以在具有--jobs标志的多个文件上使用prove