当你可以 运行 测试没有它时,空手道 junit5 的目的是什么?
What's the purpose of karate-junit5 when you can run tests without it?
空手道文档有 2 个使用空手道和 JUnit5 进行测试的示例:
- https://github.com/karatelabs/karate#junit-5
- https://github.com/karatelabs/karate#junit-5-parallel-execution 直接使用 JUnit
我在第二个示例中仅使用 karate-core (0.9.9-RC2) 创建了一个项目,不需要 karate-junit5。有什么区别?
我对 Karate 提供的功能印象深刻,我有兴趣创建一个测试工具,它可能需要根据运行时标准挑选测试,并且还需要自定义报告,所以我正在寻找最简单的连接到测试运行程序的方法。 karate-junit5 中的代码似乎是一个很好的起点,但我只是想了解为什么通常 运行 测试实际上不需要它。
问得好,我可以回答。你是对的,直接使用 Runner
class 就足够了,这是并行 运行 测试的唯一方法。
但是,如果您使用 JUnit 运行ner,您将获得作为 Java 开发人员所习惯的“绿色条”体验,我们确保 IDE UI(例如测试 运行 和失败等的树视图)被填充。如果我没记错的话,在 IntelliJ 中,您甚至可以在单击其中一个“测试用例”节点时看到日志。
编辑:请注意,我的意思是您可以在 IDE 中看到每个 Scenario
的数据,而不是包含 JUnit 测试的 Java class 的数据。下面是 IntelliJ 的屏幕截图。这样可以方便地快速查看失败的内容和相应的错误消息,而无需深入查看日志/HTML 报告:
但是在我看来,一旦您习惯了查看 Karate 输出的 HTML 报告,您就不需要 JUnit 集成。
总结一下:JUnit 支持是
a) 因为我们从 Cucumber 扩展开始(甚至有一个 @KarateOptions
注释被弃用)
b) 因为有些人喜欢 IDE 集成 + 体验并且它对 运行 在开发模式下“一次测试”很有用
您的评论让我更加相信我们最终可以弃用 JUnit 支持。一旦您有机会尝试更多,最好能得到您的反馈。
空手道文档有 2 个使用空手道和 JUnit5 进行测试的示例:
- https://github.com/karatelabs/karate#junit-5
- https://github.com/karatelabs/karate#junit-5-parallel-execution 直接使用 JUnit
我在第二个示例中仅使用 karate-core (0.9.9-RC2) 创建了一个项目,不需要 karate-junit5。有什么区别?
我对 Karate 提供的功能印象深刻,我有兴趣创建一个测试工具,它可能需要根据运行时标准挑选测试,并且还需要自定义报告,所以我正在寻找最简单的连接到测试运行程序的方法。 karate-junit5 中的代码似乎是一个很好的起点,但我只是想了解为什么通常 运行 测试实际上不需要它。
问得好,我可以回答。你是对的,直接使用 Runner
class 就足够了,这是并行 运行 测试的唯一方法。
但是,如果您使用 JUnit 运行ner,您将获得作为 Java 开发人员所习惯的“绿色条”体验,我们确保 IDE UI(例如测试 运行 和失败等的树视图)被填充。如果我没记错的话,在 IntelliJ 中,您甚至可以在单击其中一个“测试用例”节点时看到日志。
编辑:请注意,我的意思是您可以在 IDE 中看到每个 Scenario
的数据,而不是包含 JUnit 测试的 Java class 的数据。下面是 IntelliJ 的屏幕截图。这样可以方便地快速查看失败的内容和相应的错误消息,而无需深入查看日志/HTML 报告:
但是在我看来,一旦您习惯了查看 Karate 输出的 HTML 报告,您就不需要 JUnit 集成。
总结一下:JUnit 支持是
a) 因为我们从 Cucumber 扩展开始(甚至有一个 @KarateOptions
注释被弃用)
b) 因为有些人喜欢 IDE 集成 + 体验并且它对 运行 在开发模式下“一次测试”很有用
您的评论让我更加相信我们最终可以弃用 JUnit 支持。一旦您有机会尝试更多,最好能得到您的反馈。