Spring boot 弹簧靴测试中的配合度

Spring boot 弹簧靴测试中的配合度,spring-boot,bdd,fitnesse,Spring Boot,Bdd,Fitnesse,我对Fitnesse比较陌生。我目前正在尝试做的是查看我的新项目的Fitnesse,并尝试研究这是否是我验收测试的正确工具 我正在从事的项目本质上是一个微服务项目,我将拥有多个spring boot微服务,理想情况下,我希望我的验收测试在某些情况下直接(通过rest)调用rest控制器,在另一些情况下直接调用spring服务 我在互联网上做了很多研究,但我无法清楚地确定如何使用Fitnesse实现这一目标 我正在使用maven构建我的项目,并打算使用jenkins作为CI工具。我可以像使用黄瓜一

我对Fitnesse比较陌生。我目前正在尝试做的是查看我的新项目的Fitnesse,并尝试研究这是否是我验收测试的正确工具

我正在从事的项目本质上是一个微服务项目,我将拥有多个spring boot微服务,理想情况下,我希望我的验收测试在某些情况下直接(通过rest)调用rest控制器,在另一些情况下直接调用spring服务

我在互联网上做了很多研究,但我无法清楚地确定如何使用Fitnesse实现这一目标

我正在使用maven构建我的项目,并打算使用jenkins作为CI工具。我可以像使用黄瓜一样使用springboottest吗


有什么建议吗?

FitNesse本身就是一个测试环境,有其自身的优势和劣势,如一些评论中所述。它没有任何测试应用程序的能力。它允许您编写测试定义并执行这些定义。要将测试定义连接到要测试的实际系统(SUT,测试中的系统),您需要一些代码(称为fixture)。这些可以用Java(或FitNesse支持的其他语言)编写。这些装置将与要测试的系统交互,并定义测试定义将由哪些元素组成。(从我的角度来看,这与Cucumber及其步骤定义非常相似)

您可以编写自己的(自定义)装置,或者使用一些现有的“插件”或使用。如果使用现有库,您可能希望/需要使用一些基于其提供的功能构建的自定义装置

可以在Jenkins环境中运行测试,可以使用FitNesse中包含的jUnit test runner,也可以通过专门的Jenkins插件。所以这符合你的要求,没问题

我不知道springboottest,也不知道任何专门用于SpringBoot应用程序的装置。但是,多个fixture库支持测试REST服务(例如,or(公开:我在该库中编写了很多代码))或基于它们构建的web应用程序


我在Jenkins jobs中使用Maven,广泛地使用测试工具来测试web应用程序和REST(以及SOAP)服务。对我来说,它提供了FitNesse设置的良好基线,使我能够专注于编写测试,而不是测试管道。也许您可以看看,或者它的“独立zip”包,看看它是否允许您以适合您(以及您的项目)的方式表达您的测试。通过Jenkins运行测试是在projects
pom.xml
中预先配置的,并记录在中。

看起来它们内置了单元测试注释,但您可能希望从fitnesse使用它来启动“测试/模拟”servlet环境,然后从FitnesseJavaFixture而不是从单元测试方法访问它。您可能可以使用注释“@IntegrationTest”标记fitnesse fixture以实现此效果,然后不使用@Test方法,但我不确定。还请记住,fitnesse与Cucumber相比的真正优势是wiki与所有东西都相隔很远,可以通过浏览器访问。如果您的客户不是与开发人员交互并创建测试的,那么这很好,如果您不这样做,以开发人员为中心的工具(如cucumber)可能更适合您。如果希望表格测试没有单独的wiki,还可以使用fitnesse中嵌入的“fit”库。