繁体   English   中英

google test 是如何制作测试序列的

[英]How does google test make test sequence

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 测试使用从当前时间计算的随机种子。 因此,您每次都会收到不同的订单。

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

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

默认情况下,它们按声明顺序运行。 正如其他人所说,您必须提供标志--gtest_shuffle来随机播放它们。

即使您可以猜测执行顺序的某种模式(如书面或链接),您也不应该依赖于此。

但是,它会在不同的执行中重复。 如果您不希望它发生,您可以使用--gtest-shuffle 根据随机种子,以随机顺序运行测试。

如果失败,您可以使用--gtest_random_seed=与该数字并重复确切的序列(以调查失败的原因)。

也就是说,随机性是不完整的:

  • 测试套件将以随机顺序运行
  • 测试套件中的测试将以随机顺序运行

如果不以这种方式运行,SetUpTestSuite 和 TearDownTestSuite 方法将混合使用。 但是,您不需要固定装置来进行这种分组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM