0

当我使用 运行我的 catch 单元测试时-r junit,输出中省略了成功的测试用例。这会导致我的 Jenkins 构建失败,因为 JUnit 插件需要 JUnit XML 中的测试用例标签。如果它们成功运行,是否有测试用例标签出现在我的 JUnit 输出中?

捕捉测试

#define CATCH_CONFIG_MAIN
#include "catch.hpp"

TEST_CASE("Pass")
{
    SECTION( "Passing on purpose" ) {
        REQUIRE(true);
    }
}

TEST_CASE("Fail")
{
    SECTION( "Failing on purpose" ) {
        REQUIRE(false);
    }
}

-r junit 的输出

<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
  <testsuite name="WhispererEngineTests.exe" errors="0" failures="1" tests="2" hostname="tbd" time="0.154008" timestamp="2017-11-02T14:53:57Z">
    <testcase classname="Fail" name="Failing on purpose" time="0.153527">
      <failure message="false" type="REQUIRE"> at -user path- test_Card.cpp:20
      </failure>
    </testcase>
    <system-out/>
    <system-err/>
  </testsuite>
</testsuites>
4

1 回答 1

0

尝试在参数中添加“-s”,它应该让 catch 列出所有测试,而不仅仅是失败的测试。尝试使用“-?”运行可执行文件 其他选项。

于 2017-11-21T22:00:06.680 回答