我们可以使用构造函数和析构函数而不是setup和teardown吗?

时间:2012-04-12 08:44:15

标签: c++ unit-testing cppunit

setup()和teardown()执行与构造函数和析构函数相同的操作。 如果没有,他们有什么不同? 如果是,那么为什么我们不能在他们的位置使用构造函数和析构函数。

1 个答案:

答案 0 :(得分:3)

SetUp和tearDown不能被构造函数和析构函数替换,因为它们在内部受到保护,不受断言宏抛出的异常的影响。所以你可以在setUp或tearDown中添加一个断言宏,但你不能在析构函数中这样做,并且在构造函数中会有一些问题。

然后cppunit的灵感来自Junit,它实现了相同的概念。然后有可能用另一个setUp / tearDown方法替换夹具内的setUp和tearDown。