UnitTest ++多次构建灯具?

时间:2010-04-19 00:30:21

标签: c++ unit-testing unittest++

我在UnitTest ++中编写了一些单元测试,并希望编写一些共享一些公共资源的测试。我认为这应该通过他们的TEST_FIXTURE设置工作,但似乎是为每个测试构建一个新的夹具。示例代码:

#include <UnitTest++.h>

struct SomeFixture {
    SomeFixture() {
        // this line is hit twice
    }
};

TEST_FIXTURE(SomeFixture, FirstTest) {
}

TEST_FIXTURE(SomeFixture, SecondTest) {
}

我觉得我一定做错了;我曾经认为拥有夹具的重点是设置/拆卸代码只发生一次。我错了吗?还有什么我需要做的才能让它以这种方式运作吗?

2 个答案:

答案 0 :(得分:6)

测试夹具的要点是不必在每次测试中编写相同的设置/拆卸代码,而不是共享状态。如果你想共享状态,那么你可以在测试中简单地引用一个带静态字段和静态函数的类,然后你可以使用标准的TEST宏而不是TEST_FIXTURE。

答案 1 :(得分:2)

  

拥有夹具的重点是设置/拆卸代码只发生一次

不,固定装置的重点是每次测试都要重复固定装置。您所看到的是预期和正确的行为。