Cxx测试编译,缺少主

CxxTest compiling, missing main

本文关键字:测试 编译 Cxx      更新时间:2023-10-16

我正在使用CxxTest进行单元测试。我按照文档进行操作。

我执行的第一个命令是:

cxxtestgen --error-printer -o runner.cpp MyTestSuite1.h

命令的输出是runner.cpp文件。

根据文档,下一个命令应该是:

g++ -o runner -I(location_of_the_cxxTest_headers) runner.cpp

但我无法执行它,我收到有关缺少入口点的错误。换句话说,runner.cpp缺少主。

CxxTest 中包含的测试文件也会发生同样的事情。

我正在运行Windows 8.1。

我的问题被标记为重复,但我在另一个问题中没有找到解决方案。我不是在构建 GUI 应用程序。问题是关于 CxxTest 的,如果没有main()函数,它是如何启动的?切入点在哪里?

我在查看用于生成runner.cpp的 python 脚本cxxtestgen.py后找到了解决方案。在writeMain(output)函数的开头有一个 if 语句,它将main函数写入输出文件:

if not (options.gui or options.runner):
       return

从测试套件生成输出文件时,至少需要两个选项中的一个,即 --runner=CLASS--gui=CLASS。添加一个选项后,一切正常。