谷歌测试如何制作测试序列

Ras*_*yak 13 c++ googletest visual-studio-2010

google-test如何为测试用例测试序列(or order of test case execution)

假设我有5个测试用例.

TEST(First, first)
TEST(Secnd, secnd)
TEST(Third, third)
...
TEST(Fifth, fifth)
Run Code Online (Sandbox Code Playgroud)

如何google-test测试上面的测试用例?我是说按什么顺序?或者我们可以提供任何测试序列吗?

Pet*_*ood 15

默认情况下,它将按照链接时找到它们的顺序对它们进行测试,这取决于您的工具.

您可以选择要运行的测试,例如子集或单个测试.

还可以选择以随机顺序运行它们.


BЈо*_*вић 5

改组测试一章中 googletest 的高级参考页面告诉:

默认情况下,Google 测试使用从当前时间计算的随机种子。因此,您每次都会收到不同的订单。

这实际上是一种很好的单元测试方式,因为测试不应该依赖于执行的顺序。

据我所知,没有办法设置测试执行的顺序。您可以设置的唯一参数是种子,用于设置相同的执行顺序。

  • 仅当您指定 `--gtest_shuffle` 标志时,该(执行的随机顺序)才为真。 (13认同)
  • 2018 年 7 月 17 日,他们[更新了文档](https://github.com/google/googletest/commit/5437926b2213b1c45c2f34bd858734de90e5fffd) 所以现在 (2020-08-26) 它是“默认情况下,googletest 使用计算的随机种子从当前时间开始。因此您每次都会收到不同的订单。” 随机顺序已成为默认行为,尽管“--gtest_shuffle”肯定仍然有效。 (2认同)