cppUnit:为多个测试方法执行一次的设置函数

cppUnit: setUp function executed once for multiple testmethods

我有一个对象 Obj 正在做一些(详细的)计算并想检查结果(我们称之为 aComputedbComputed)是否正确。因此我想将这个任务分成多个测试方法:

testA() { load aToBe; check if number aComputed = aToBe }
testB() { load bToBe; check if number bComputed = bToBe }

问题是,Obj 是 "executed" 两次(这需要很多时间)——每次测试一次。问题是:我如何管理它只是 "executed" 一次并且结果被两个测试使用?

此刻 Obj 被放置在 setUp-函数中并将结果保存到测试-class.

的私有成员中

感谢您的帮助!

没有简单的解决方案可以让您将代码拆分为两个测试方法。每个测试方法都会产生一个新的测试对象,该对象具有自己的一组局部变量。

显然您可以通过静态变量解决此问题,但从长远来看 运行 这通常只会导致问题并破坏框架背后的想法。

更好的办法是将两个 CPPUNIT_ASSERT 写在同一个测试方法中。如果结果是同一计算的一部分,那么将检查分成两个独立的测试方法很可能没有太大价值。