我为我编写的Erlang应用程序提供了几十个Common Test测试套件模块.所有测试都通过了,但我觉得测试套件非常脆弱.重新排序测试会导致其中一些失败.我没有阅读Common Test文档中的依赖项章节,我经常对单元测试中的应用程序状态做出假设.现在我想让我的测试套件更加强大.
随机化测试订单?
来自Ruby,Rspec以随机顺序运行测试,我希望在Common Test中具有相同的功能.有没有人知道是否有办法在Common Test中随机化测试顺序?我没有在文档中看到有关随机化测试顺序的任何内容.
随机化返回值all/0
和groups/0
?
我还想过改变all/0
和groups/0
回调的输出.现在他们只返回硬编码列表.也许我可以随机化元素的排序并让它们每次以不同的顺序运行?有没有人通过更改Common Test中的回调返回值来随机化测试顺序?我还需要一种方法来重新运行测试,导致它们像Rspec的--seed标志一样失败.
提前致谢!
使用shuffle
或{shuffle, Seed}
属性定义测试组可能会有所帮助,这样:
groups() -> [{group1, [shuffle], [test1, test2, test3]}, {group2, [shuffle], [test1, test2, test3]}].
如果指定了shuffle,则组中的个案将以随机顺序执行.这个官方文档中有很好的例子.