gpt4 book ai didi

c++ - GoogleTest - 在一个夹具中有多个 setUp()

转载 作者:太空狗 更新时间:2023-10-29 21:24:43 24 4
gpt4 key购买 nike

我正在对 C++ 代码进行单元测试,并且正在对庞大的数据集运行复杂的算法。我想在第一个简单的不切实际的数据集上运行测试,并在类似现实的数据集上运行测试。所以,我希望我的装置看起来像这样:

class AppsToBeTested : public ::testing::Test 
{
public:
AppsToBeTested():member(NULL)
{

}

setUp1()
{

}

setUp2()
{

}

tearDown()
{

}
protected:
helperCreateDataset1() ;
helperCreateDataset2() ;

};

使用 setUp2()setUp2() 调用两个不同的辅助方法,helperCreateDataset1()helperCreateDataset2()分别。在这个版本的代码中,我没有覆盖 setUp() 方法,而是简单地使用了两个助手 setUp1()setUp2() 这我将不得不在测试用例中明确地调用。

进行两次 setUp() 初始化的合适方法是什么?遗产?模板?

最佳答案

gtest 文档 here对此响应的提示:一个夹具适用于多个测试用例的一个测试环境。共享相同夹具的所有测试用例具有相同的 setUp()。如果需要多个设置(例如,测试一个类的测试用例的两种设置),则应使用多个夹具(例如,两个夹具,以及引用第一个或第二个的测试用例)。

简而言之,我有一种感觉,ONE FIXTURE == ONE SETUP,并且使用与您需要的不同设置一样多的 fixture 来测试一个类/代码的一部分。

这个答案够公平吗?

你怎么看?

关于c++ - GoogleTest - 在一个夹具中有多个 setUp(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15430378/

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