google-test 如何为测试用例制作测试序列(or order of test case execution)
?
假设我有 5 个测试用例。
TEST(First, first)
TEST(Secnd, secnd)
TEST(Third, third)
...
TEST(Fifth, fifth)
google-test
上面的测试用例怎么测试?我的意思是按什么顺序?或者我们可以提供任何测试序列吗?
google-test 如何为测试用例制作测试序列(or order of test case execution)
?
假设我有 5 个测试用例。
TEST(First, first)
TEST(Secnd, secnd)
TEST(Third, third)
...
TEST(Fifth, fifth)
google-test
上面的测试用例怎么测试?我的意思是按什么顺序?或者我们可以提供任何测试序列吗?
洗牌测试一章中 googletest 的高级参考页面告诉我们:
默认情况下,Google Test 使用从当前时间计算的随机种子。因此,您每次都会收到不同的订单。
这实际上是一种很好的单元测试方式,因为测试不应该依赖于执行的顺序。
据我所知,没有办法设置测试执行的顺序。您可以设置的唯一参数是种子,用于设置相同的执行顺序。
默认情况下,它们按声明顺序运行。正如其他人所说,您必须提供标志--gtest_shuffle来打乱它们。
即使您可以猜测执行顺序的某些模式(如书面或链接的),您也不应该依赖它。
不过,它会在不同的处决中重复。如果您不希望它发生,您可以使用--gtest_shuffle
. 根据随机种子,以随机顺序运行测试。
如果失败,您可以使用--gtest_random_seed=
该数字并重复确切的顺序(以调查失败的原因)。
也就是说,随机性并不完整:
如果不以这种方式运行,SetUpTestSuite 和 TearDownTestSuite 方法将混合使用。但是,您不需要固定装置来进行此分组。