如何抑制 Cucumber/Junit 断言堆栈跟踪

Bal*_*ala 5 java cucumber-jvm cucumber-junit

我有一个黄瓜场景,该步骤使用assertEquals. 我的结果报告显示了对最终用户不友好的堆栈跟踪。我怎样才能抑制它

  Scenario: Add two numbers
    Given I have two inputs "3" and "2"
    When I add them
    Then the output should be "15"
Run Code Online (Sandbox Code Playgroud)

朱尼特

Eri*_*son 1

您正确地观察到,Junit 测试的默认 XML 输出(假设您没有输出到 JSON 或文本,但您没有说)显示失败步骤的堆栈跟踪。这实际上不是黄瓜的事情。CucumberOptions这里帮不了你。

你可以:

  1. 使用不同的或自定义的 Runner 进行测试,然后设置一个标签来控制输出中包含的内容或您选择的CI 软件将读取的内容。例如,用于执行此操作的 Confulence API API 告诉“调试器”如何
  2. Ant 脚本的相同类型的处理可以调整输出,因此不会显示输出。这里有一个很好的教程,用于学习如何使用 Any 脚本来启动 Cucumber JUnit 测试。
  3. 其他人通过实现 XMLJUnitResultFormatter API为 JUnit 构建了自定义格式化程序,更多解释请参见此处 -如何配置 JUnit Ant 任务以仅在失败时生成输出?

希望能为您提供所需的东西。