gpt4 book ai didi

c++ - GTEST : Identify before and after a SetUp and TearDown respectively

转载 作者:行者123 更新时间:2023-11-30 05:20:49 29 4
gpt4 key购买 nike

我有多个测试类,每个测试类都有自己的 SetUp() 和 TearDown()。

据我所知,在 RUN_ALL_TEST() 之后运行测试用例的顺序是未知的。

我想在第一次调用 SetUp 之前启动服务,并在调用最后一次 TearDown 之后停止服务。

我该如何实现?一个例子将不胜感激。

谢谢

最佳答案

首先观察到这些不是单元测试,因为它们需要运行“服务”。我建议考虑重新设计应用程序以允许在不需要外部服务的情况下运行测试。一种方法可能是使用抽象类和 google mock。

拥有在正常TearDown 中幸存下来的外部服务的问题是,确保下一个测试将找到一个干净的环境成为您的明确责任:一个测试可以被状态设置破坏之前的测试。

如果您真的想沿着长期存在的外部服务的路线前进,请阅读 gtest advanced guide 中的 SetUpTestCaseTearDownTestCase ,这将允许每个测试夹具仅启动一次服务。

还有一个更危险的 Environment 类允许进行全局设置和拆卸(在高级指南中搜索)。

但同样,您的测试将很脆弱且难以调试。我建议重新考虑这种方法。

关于c++ - GTEST : Identify before and after a SetUp and TearDown respectively,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40505177/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com