我正在用UnitTest ++编写一些单元测试,并且想编写一堆共享一些公共(public)资源的测试。我认为这应该通过他们的TEST_FIXTURE设置起作用,但是似乎正在为每个测试构建一个新的夹具。样例代码:

#include <UnitTest++.h>

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

TEST_FIXTURE(SomeFixture, FirstTest) {
}

TEST_FIXTURE(SomeFixture, SecondTest) {
}

我觉得我一定做错了;我以为拥有固定装置的全部目的是使安装/拆卸代码仅发生一次。我在这方面错了吗?我还有别的事情要做才能使它那样工作吗?

最佳答案

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

关于c++ - UnitTest++多次构造固定装置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2664579/

10-10 21:36