Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ UnitTest++多次构造夹具?_C++_Unit Testing_Unittest++ - Fatal编程技术网

C++ UnitTest++多次构造夹具?

C++ UnitTest++多次构造夹具?,c++,unit-testing,unittest++,C++,Unit Testing,Unittest++,我正在用UnitTest++编写一些单元测试,并希望编写一组共享一些公共资源的测试。我认为这应该通过他们的测试夹具设置来实现,但它似乎在为每个测试构建一个新的夹具。示例代码: #include <UnitTest++.h> struct SomeFixture { SomeFixture() { // this line is hit twice } }; TEST_FIXTURE(SomeFixture, FirstTest) { } TEST

我正在用UnitTest++编写一些单元测试,并希望编写一组共享一些公共资源的测试。我认为这应该通过他们的测试夹具设置来实现,但它似乎在为每个测试构建一个新的夹具。示例代码:

#include <UnitTest++.h>

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

TEST_FIXTURE(SomeFixture, FirstTest) {
}

TEST_FIXTURE(SomeFixture, SecondTest) {
}
我觉得我一定是做错了什么;我原以为拥有夹具的全部意义在于,设置/拆卸代码只发生一次。我错了吗?我还需要做些什么才能让它这样工作吗

拥有夹具的全部意义在于,设置/拆卸代码只发生一次

不,夹具的整个要点是每次测试都要重复夹具。你所看到的是预期的和正确的行为

拥有夹具的全部意义在于,设置/拆卸代码只发生一次


不,夹具的整个要点是每次测试都要重复夹具。您看到的是预期的和正确的行为。

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

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

好的,如果它是这样工作的话。我承认有点失望;我不认为测试夹具这样对我有用,但我想我不得不接受它。不管怎样,谢谢你把它清理干净:好吧,如果这就是它应该如何工作的话。我承认有点失望;我不认为测试夹具这样对我有用,但我想我不得不接受它。无论如何,谢谢你把它清理干净: