UnitTest ++多次构建灯具?

Pet*_*ter 1 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) {
}
Run Code Online (Sandbox Code Playgroud)

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

Mic*_*yan 6

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