如何让 CppUnit 轻量级运行

How to get CppUnit light running?

本文关键字:轻量级 运行 CppUnit      更新时间:2023-10-16

我是C++和C ++单元测试的新手。我试图让 CppUnit 轻量级运行,到目前为止没有成功,我现在实际上不知道该怎么办。这是我的代码:

#include <iostream>
#include <string>
#include "CppUnitLite/TestHarness.h"
using namespace std;
int main()
{
    TestResult tr;
    TestRegistry::runAllTests(tr);
    return 0;
}

TEST( Stack, creation )
{
    CHECK_EQUAL("a", "a");
}

在代码块中,我收到以下错误消息:

UnitTestTest/main.cpp|10|未定义对 TestResult::TestResult()| UnitTestTest/CppUnitLite/Test.h|21|未定义对 SimpleString 的引用::~SimpleString()| UnitTestTest/main.cpp|17|未定义对 Test::Test(SimpleString const&)|

包含 2 个目录很简单

project_dir (as it use include CppUnitLite/x.h)
project_dir/CppUnitLite (all header files including Simple Strings)
link to -lCppUnitLite

CppUnitLite 与 cppunit 无关,标签错误我添加了 3 个经过测试的 Cmake 文件

[gliang@www CppUnitLite]$ cat ../CppUnitLite/CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
enable_testing()
include_directories(
    ${CMAKE_SOURCE_DIR}/
    ${CMAKE_SOURCE_DIR}/CppUnitLite
)
link_directories(
    ${CMAKE_BINARY_DIR}
)
add_subdirectory(src)
add_subdirectory(test)

用于测试目录

[gliang@www CppUnitLite]$ cat ../CppUnitLite/test/CMakeLists.txt
set(test_SRCS
Stack.h
StackMain.cpp
StackTest.cpp
)
add_executable(cppunitLite ${test_SRCS})
target_link_libraries(cppunitLite CppUnitLite)
add_test(NAME cppunitLite COMMAND ${CMAKE_BINARY_DIR}/test/cppunitLite)

对于 src(lib) 目录

[gliang@www CppUnitLite]$ cat ../CppUnitLite/src/CMakeLists.txt
set(lib_SRCS
Failure.cpp
SimpleString.cpp
Test.cpp
TestRegistry.cpp
TestResult.cpp
)
add_library(CppUnitLite ${lib_SRCS})

原始项目几个月不活动 https://github.com/smikes/CppUnitLite

请旁观其他选择