是否可以随机排列 Common Test 运行 个测试用例?
Is it possible to have Common Test run test cases in a random order?
我为我编写的 Erlang 应用程序准备了几十个 Common Test 测试套件模块。所有测试都通过了,但我觉得测试套件非常脆弱。重新排序测试会导致其中一些测试失败。我没有阅读 dependencies chapter in the Common Test documentation 并且我经常在单元测试中对应用程序状态做出假设。现在我想让我的测试套件更健壮。
随机测试订单?
来自 Ruby,其中 Rspec 运行s 测试的顺序是随机的,我希望在 Common Test 中拥有相同的功能。有谁知道是否有办法在 Common Test 中随机化测试顺序?我在文档中没有看到任何关于随机化测试顺序的内容。
从 all/0
和 groups/0
中随机化 Return 个值?
我还考虑过更改 all/0
和 groups/0
回调的输出。现在他们只是 return 硬编码列表。也许我可以随机化元素的顺序并让它们每次 运行 以不同的顺序排列?有没有人有通过更改 Common Test 中的回调 return 值来随机化测试顺序的经验?我还需要一种方法来按照导致测试失败的顺序重新运行 测试,例如 Rspec's --seed flag.
提前致谢!
在定义测试组时使用 shuffle
或 {shuffle, Seed}
属性 可能会有所帮助,这样:
groups() ->
[{group1, [shuffle], [test1, test2, test3]},
{group2, [shuffle], [test1, test2, test3]}].
如果指定shuffle,组中的cases会随机执行。 this 官方文档中有很好的示例。
我为我编写的 Erlang 应用程序准备了几十个 Common Test 测试套件模块。所有测试都通过了,但我觉得测试套件非常脆弱。重新排序测试会导致其中一些测试失败。我没有阅读 dependencies chapter in the Common Test documentation 并且我经常在单元测试中对应用程序状态做出假设。现在我想让我的测试套件更健壮。
随机测试订单?
来自 Ruby,其中 Rspec 运行s 测试的顺序是随机的,我希望在 Common Test 中拥有相同的功能。有谁知道是否有办法在 Common Test 中随机化测试顺序?我在文档中没有看到任何关于随机化测试顺序的内容。
从 all/0
和 groups/0
中随机化 Return 个值?
我还考虑过更改 all/0
和 groups/0
回调的输出。现在他们只是 return 硬编码列表。也许我可以随机化元素的顺序并让它们每次 运行 以不同的顺序排列?有没有人有通过更改 Common Test 中的回调 return 值来随机化测试顺序的经验?我还需要一种方法来按照导致测试失败的顺序重新运行 测试,例如 Rspec's --seed flag.
提前致谢!
在定义测试组时使用 shuffle
或 {shuffle, Seed}
属性 可能会有所帮助,这样:
groups() ->
[{group1, [shuffle], [test1, test2, test3]},
{group2, [shuffle], [test1, test2, test3]}].
如果指定shuffle,组中的cases会随机执行。 this 官方文档中有很好的示例。