gpt4 book ai didi

c++ - CPPUnit - 全局变量

转载 作者:行者123 更新时间:2023-11-28 08:01:49 27 4
gpt4 key购买 nike

如何在之后的 CPPUNIT_TEST 中访问我在第一个 CPPUNIT_TEST 中设置的变量?

对于 EX。

CPPUNIT_TEST_SUITE(TestingEx);
CPPUNIT_TEST(ex1);
CPPUNIT_TEST(ex2);
CPPUNIT_TEST_SUITE_END();

public:
int x=0;
void ex1()
{
do some testing and logic would set x to someother value ...
x=4;
}
void ex2()
{
use x to do some testing // x should be 4, but I get 0??
}

谁能告诉我哪里出了问题,我该如何让它发挥作用?

最佳答案

Cppunit 遵循每个测试相互分离的概念。这对所有单元测试框架都是一个有用的假设,更糟糕的是,它不能保证测试按特定顺序执行。

您有解决问题的方法:

  • 在你的类中使用静态变量,这很丑陋,在编写测试时应该很少使用,而且几乎从不用于单元测试。
  • 在执行每个测试之前使用 setUp 初始化您的测试环境
  • 在每次测试之前以其他方式初始化您的数据,例如构造函数,在测试方法中,...

关于c++ - CPPUnit - 全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246791/

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