【问题标题】:Boost testrunner in Eclipse fails to generate valid XMLEclipse 中的 Boost 测试运行程序无法生成有效的 XML
【发布时间】:2017-03-14 19:34:13
【问题描述】:

我正在尝试从 Eclipse 对 C++ 代码运行单元测试。我的 Eclipse 是 Mars.2 Release (4.5.2)。我最初下载的是 Java Developer 的版本,但我已经安装了 C/C++ 插件。我编写了一个简单的类,然后为该类编写了一个 boost 单元测试。我可以在 Eclipse 和命令行中编译代码以获得可执行文件。如果我在命令行上运行可执行文件,我会得到这个输出

运行 1 个测试用例...

*** 未检测到错误

到目前为止一切顺利。

现在,如果我尝试在 Eclipse 中运行,我会收到错误消息。起初,我的测试似乎根本没有运行。在“C/C++ 单元”选项卡中,我在屏幕右侧看到一个红色条,没有我应该看到个别测试结果的信息,以及一条小文本消息“XML 解析错误:文件过早结束”选项卡行的正下方。通过停止调试器,我可以看到我是known bug 的受害者。基本上,Eclipse 和 boost testrunner 之间存在一些不兼容,其中一个是指定 XML,另一个是指定格式的 xml(不同大小写)。我尝试了在该链接的错误讨论中提到的解决方法:

作为一种解决方法,您可以在单元测试的运行配置中添加以下参数:

--output_format=XML --log_level=all --report_level=no --

Eclipse 的测试运行器将它的参数附加到这些。 -- 之后的参数被传递到您的测试脚本并被 Boost.Test 忽略。

有了这个,我仍然有问题,但问题会有所不同,具体取决于我是否使用调试运行。不调试,结果和上面提到的一样。通过调试,我在“C/C++ 单元”选项卡的左侧获得了有关我的测试的信息——注意到它运行并通过了——但我仍然看到指示失败的红色条。这种情况下的小文本说:“XML 解析错误:尾部部分不允许内容。”

上面提到的错误似乎已经有 2 年的历史了,尽管讨论最近在上个月有活动。我想还有一些其他的工作吗?社区似乎在这两年间一直在进行测试!

我尝试通过帮助更新 Eclipse -> 检查更新。这并没有改善我的情况。我怀疑其他信息可能对提供帮助很有价值,但我不确定该提供什么。我会看 cmets 并在可能的情况下更新。

【问题讨论】:

    标签: c++ eclipse boost-test


    【解决方案1】:

    不情愿地,我升级到了 Eclipse 的 Neon.2 版本。正如我的问题中所述,潜在的错误仍然存​​在,但指出的解决方法在该版本中有效。为了完整起见,从问题中复制下来:

    作为一种解决方法,您可以在单元测试的运行配置中添加以下参数:

    --output_format=XML --log_level=all --report_level=no --

    Eclipse 的测试运行器将它的参数附加到这些。 -- 之后的参数被传递到您的测试脚本并被 Boost.Test 忽略。

    如果这在火星上也能工作会很好,因为升级有点麻烦 - 特别是支持多种开发语言 - 但至少我可以继续前进。在任何情况下都可能不得不升级。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-15
      • 2010-09-30
      • 2016-03-23
      • 1970-01-01
      • 2012-06-30
      • 2021-10-25
      • 1970-01-01
      相关资源
      最近更新 更多