我正在用UnitTest++编写一些单元测试,并且想要编写一些共享一些公共资源的测试。我认为这应该通过他们的TEST_FIXTURE设置来工作,但它似乎为每个测试构造了一个新的夹具。示例代码:
#include <UnitTest++.h>
struct SomeFixture {
SomeFixture() {
// this line is hit twice
}
};
TEST_FIXTURE(SomeFixture, FirstTest) {
}
TEST_FIXTURE(SomeFixture, SecondTest) {
}我觉得我一定是做错了什么;我本以为拥有fixture的全部意义就是让setup/teardown代码只发生一次。在这个问题上我说错了吗?要让它以这种方式工作,我还需要做什么吗?
发布于 2010-04-19 08:35:10
测试夹具的要点是不必在每个单独的测试中编写相同的setup/teardown代码,而不是共享状态。如果您想要共享状态,那么只需在测试中引用具有静态字段和静态函数的类,然后就可以使用标准测试宏而不是TEST_FIXTURE。
发布于 2010-04-19 08:35:00
拥有夹具的全部意义在于,设置/拆卸代码只发生一次
不,fixture的全部意义在于每次测试都要重复使用该fixture。您看到的是预期的和正确的行为。
https://stackoverflow.com/questions/2664579
复制相似问题