【问题标题】:CxxTest compiling, missing mainCxxTest 编译,缺少 main
【发布时间】:2023-03-10 12:29:01
【问题描述】:

我正在使用 CxxTest 进行单元测试。我跟着文档。

我执行的第一个命令是:

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

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

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

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

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

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

我正在运行 Windows 8.1。

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

【问题讨论】:

  • @Drop 怎么是重复的?我什至没有构建 GUI 应用程序。根据该问题的答案,我的问题应该通过以下选项解决:-Wl,-subsystem,windows 但事实并非如此。问题是关于 CxxTest 以及如何在没有 main 的情况下在控制台中运行。我的问题是 CxxTest 没有生成 main,那么我应该如何开始测试?

标签: c++ cxxtest


【解决方案1】:

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

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-11
  • 2013-09-16
  • 2019-01-05
  • 2013-01-10
  • 2016-09-27
  • 2016-09-26
  • 1970-01-01
相关资源
最近更新 更多