cppUnit:为多个测试方法执行一次的设置函数
cppUnit: setUp function executed once for multiple testmethods
我有一个对象 Obj
正在做一些(详细的)计算并想检查结果(我们称之为 aComputed
和 bComputed
)是否正确。因此我想将这个任务分成多个测试方法:
testA() { load aToBe; check if number aComputed = aToBe }
testB() { load bToBe; check if number bComputed = bToBe }
问题是,Obj
是 "executed" 两次(这需要很多时间)——每次测试一次。问题是:我如何管理它只是 "executed" 一次并且结果被两个测试使用?
此刻 Obj
被放置在 setUp
-函数中并将结果保存到测试-class.
的私有成员中
感谢您的帮助!
没有简单的解决方案可以让您将代码拆分为两个测试方法。每个测试方法都会产生一个新的测试对象,该对象具有自己的一组局部变量。
显然您可以通过静态变量解决此问题,但从长远来看 运行 这通常只会导致问题并破坏框架背后的想法。
更好的办法是将两个 CPPUNIT_ASSERT 写在同一个测试方法中。如果结果是同一计算的一部分,那么将检查分成两个独立的测试方法很可能没有太大价值。
我有一个对象 Obj
正在做一些(详细的)计算并想检查结果(我们称之为 aComputed
和 bComputed
)是否正确。因此我想将这个任务分成多个测试方法:
testA() { load aToBe; check if number aComputed = aToBe }
testB() { load bToBe; check if number bComputed = bToBe }
问题是,Obj
是 "executed" 两次(这需要很多时间)——每次测试一次。问题是:我如何管理它只是 "executed" 一次并且结果被两个测试使用?
此刻 Obj
被放置在 setUp
-函数中并将结果保存到测试-class.
感谢您的帮助!
没有简单的解决方案可以让您将代码拆分为两个测试方法。每个测试方法都会产生一个新的测试对象,该对象具有自己的一组局部变量。
显然您可以通过静态变量解决此问题,但从长远来看 运行 这通常只会导致问题并破坏框架背后的想法。
更好的办法是将两个 CPPUNIT_ASSERT 写在同一个测试方法中。如果结果是同一计算的一部分,那么将检查分成两个独立的测试方法很可能没有太大价值。