CPPUnit - 全局变量

时间:2012-06-28 14:23:45

标签: c++ visual-c++ cppunit

如何在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??
}

有人可以解释一下我有什么问题吗?我该如何使它发挥作用?

1 个答案:

答案 0 :(得分:1)

Cppunit遵循每个测试彼此分开的概念。对于所有单元测试框架,这是一个有用的假设,更糟糕的是,不保证测试按特定顺序执行。

您有解决方案来解决您的问题:

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