我在文件中有以下代码tested.cpp
:
#include <iostream>
using namespace std;
class tested {
private:
int x;
public:
tested(int x_inp) {
x = x_inp;
}
int getValue() {
return x;
}
};
我还有另一个文件(称为testing.cpp
):
#include <cppunit/extensions/HelperMacros.h>
#include "tested.cpp"
class TestTested : public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE(TestTested);
CPPUNIT_TEST(check_value);
CPPUNIT_TEST_SUITE_END();
public:
void check_value();
};
CPPUNIT_TEST_SUITE_REGISTRATION(TestTested);
void TestTested::check_value() {
tested t(3);
int expected_val = t.getValue();
CPPUNIT_ASSERT_EQUAL(7, expected_val);
}
当我尝试编译testing.cpp
文件时,我得到:undefined reference to
main'`。嗯,这是因为我没有 main(程序的入口点)。因此,编译器不知道如何开始执行代码。
但我不清楚的是如何执行testing.cpp
. 我试图添加:
int main() {
TestTested t();
return 1;
}
但是,它不打印任何内容(并且预计会返回错误消息,因为 3 不等于 7)。
有谁知道运行单元测试的正确方法是什么?