Unit testing 是否有可能以随机顺序进行公共测试运行测试用例?
我已经为我编写的Erlang应用程序编写了几十个通用测试套件模块。所有的测试都通过了,但我觉得测试套件非常脆弱。重新排序测试会导致其中一些测试失败。我没有阅读,而且我经常在单元测试中假设应用程序的状态。现在我想让我的测试套件更加健壮 随机测试顺序? 来自Ruby,Rspec以随机顺序运行测试,我希望在公共测试中也能有同样的功能。有人知道在普通测试中是否有随机测试顺序的方法吗?我在文档中没有看到任何关于随机测试顺序的内容 将Unit testing 是否有可能以随机顺序进行公共测试运行测试用例?,unit-testing,random,erlang,common-test,Unit Testing,Random,Erlang,Common Test,我已经为我编写的Erlang应用程序编写了几十个通用测试套件模块。所有的测试都通过了,但我觉得测试套件非常脆弱。重新排序测试会导致其中一些测试失败。我没有阅读,而且我经常在单元测试中假设应用程序的状态。现在我想让我的测试套件更加健壮 随机测试顺序? 来自Ruby,Rspec以随机顺序运行测试,我希望在公共测试中也能有同样的功能。有人知道在普通测试中是否有随机测试顺序的方法吗?我在文档中没有看到任何关于随机测试顺序的内容 将所有/0和组/0的返回值随机化? 我还考虑更改all/0和groups/0
所有/0
和组/0
的返回值随机化?
我还考虑更改all/0
和groups/0
回调的输出。现在他们只是返回硬编码列表。也许我可以将元素的顺序随机化,让它们每次以不同的顺序运行?是否有人有过通过更改公共测试中的回调返回值来随机化测试顺序的经验?我还需要一种方法以导致测试失败的顺序重新运行测试
提前谢谢 在定义测试组时使用
shuffle
或{shuffle,Seed}
属性会很有帮助,方法如下:
groups() ->
[{group1, [shuffle], [test1, test2, test3]},
{group2, [shuffle], [test1, test2, test3]}].
如果指定了shuffle,则组中的案例将以随机顺序执行。官方文件中有很好的例子