我使用Google Test对我的C ++项目进行单元测试。入门指南说:
如有必要,编写一个默认构造函数或SetUp()函数来为每个测试准备对象。一个常见的错误是将SetUp()拼写为Setup(),并且让你不小心发生这种情况。
SetUp()
拼写正确,但我仍无法让SetUp
工作。有什么想法吗?
#include "gtest/gtest.h"
class SampleTest : public ::testing::Test {
protected:
virtual void SetUp() { std::cout << "SetUp called." << std::endl; }
};
TEST(SampleTest, OneEqualsOne) {
int one = 1;
ASSERT_EQ(1, one);
}
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
g++ -g -Wno-deprecated -I gtest/include SampleTest.cpp gtest/libgtest.a -o SampleTest
输出:
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from SampleTest
[ RUN ] SampleTest.OneEqualsOne
[ OK ] SampleTest.OneEqualsOne (1 ms)
[----------] 1 test from SampleTest (1 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (1 ms total)
[ PASSED ] 1 test.
答案 0 :(得分:6)
将TEST
更改为TEST_F
,将SetUp
方法更改为TEST_F
,但不能仅使用TEST
。
答案 1 :(得分:2)
将您的TEST宏更改为TEST_F。 (它列在你提供的报价下面的文档中。)