当前位置: 首页 > 知识库问答 >
问题:

有没有一种方法可以将空手道测试作为一个集成测试套件运行在一个预引导的Spring Boot服务器上?

林波鸿
2023-03-14

在Maven构建的“集成测试”阶段,有什么好的方法来获得空手道测试来测试Spring-Boot微服务吗?我的意思是:是不是有一个反模式/变通方法可以很好地工作,或者是我运气不好,因为这是空手道发展后的一个想法?

我目前收集到的事实:

>

  • 这里说:“The surefire插件不是硬编码成空手道”在Maven的集成测试阶段有没有方法运行空手道测试?

    在maven-failsafe-plugin的上下文中运行空手道测试根本不起作用。在下面的我的测试项目url上很容易复制。最重要的两个问题:

    1. 从maven-failsafe运行时,Karate将生成.txt和.html文件,但不生成.jsoncucumber输出文件。
    2. 因此,您无法从cucumber-reporting插件(这是我需要的)中获得HTML报告

    我创建了一个项目来演示这些事实:https://github.com/djangofan/karate-api-sample

    运行集成测试要求我在测试套件之前启动Spring Boot,然后在之后停止Spring Boot服务器。Maven SureFire没有这个功能,但是Maven failsafe插件有:Maven build helper插件有一个预集成测试挂钩。仅受Maven surefire的限制,我运气不好。

    我在karate/karate-demo项目中看到了一个从代码启动Spring Boot服务器的示例。当我试图测试一个已经建立的web服务时,这并不容易完成。这是我唯一的选择:使用surefire和一个类过滤器和代码来引导吗?

    如果没有好的答案,我将返回到使用cucumber-java+resteasy,我非常肯定它将与maven FailSafe:https://maven.apache.org/surefire/maven-failsafe-plugin/examples/cucumber.html一起工作

  • 共有1个答案

    曹君墨
    2023-03-14

    首先,这不是karate.js不确定从何而来:)

    当从maven-failsafe运行时,Karate将生成.txt和.html文件,但不会生成.jsoncucumber输出文件。

    抱歉,无法复制。

    如果没有好的答案,我将回到使用cucumber-java+resteasy

    那当然是你的选择。至少在我(有偏见的)看来,您会错过Karate添加的所有JSON断言值,以及报告的并行执行+聚合。我确信你会尽可能的帮助,这样我们就能让所有需要这个解决方案的人体验得更好--但除此之外,嘿--不用担心:p

     类似资料:
    • 我知道一个测试可以通过运行来运行,在sbt中, 有没有办法告诉sbt/scalatest在没有标签的情况下运行单个测试?例如: 这意味着“在类中运行第二个测试。不管它是什么”。我们有一堆测试,没有人费心去标记它们,那么有没有办法在没有标签的情况下运行单个测试?

    • 问题内容: 我在做游戏,遇到一个问题…当我尝试保存时,JSON失败,并报告正在某处进行循环引用。我认为它实际上不是,我看不到它,因此是否有一种算法或其他任何方法可以告诉我确切的位置(在哪些对象和事物之间)?另外,是否有可以保存循环引用的JSON替代方案?我正在运行一个node.js服务器,我看到了,但是我无法使其正常工作(它不是作为模块组成的,我可以在我的代码中使用require())。 问题答案

    • 我正在运行一个TestNG套件,在同一个类中有3个测试。问题是,当我打开Allure报告(使用jetty服务器)时,我可以看到里面有两个同名和相同内容的套件。每个套房之间只有2个差异。 套件2总是在套件1之后1秒完成。 我使用3个不同的线程在3个设备上进行并行执行。如果套件具有线程顺序1、2、3,那么套件2将具有顺序1、3、2(与套件1相比)

    • 在JUnit4下,我有一个测试套件,它使用注释来引导框架。这是能够在测试期间构造某些对象所必需的。它还将一些任意应用程序属性加载到静态中。这些通常特定于当前测试套件,并且将被整个套件中的众多测试使用。我的测试套件看起来像这样(其中FrameworkResources扩展了ExternalResources并做了很多引导工作): 上面的工作非常好,主构建执行所有测试套件及其各自的测试用例(?)没有问