春季启动黄瓜测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了春季启动黄瓜测试相关的知识,希望对你有一定的参考价值。

我尝试执行一些Spring启动应用程序的Cucumber测试。

在测试运行之前,似乎没有启动Spring Boot。

我错过了什么?

https://bitbucket.org/oakstair/spring-boot-cucumber-example

答案

我的Cucumber回购仍然没有完成上述所有步骤:

https://github.com/BarathArivazhagan/Cucumber-spring-integration

文件:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html

要添加更多:

  1. @SpringBootTest负责加载应用程序上下文,在这种情况下@ContextConfiguration是还原剂。
  2. Spring测试自动提供了一个可以自动装配的TestRestTemplate bean,但它仍然可以与RestTemplate一起使用。
  3. 它仍然在没有RANDOM_PORT的情况下运行,但RANDOM端口也可以结合使用进行测试。
另一答案

假设你在feature1中有一个特征文件,glueCodeorg.xyz.feature1

@RunWith(Cucumber.class)
@CucumberOptions(
    plugin = {"pretty"},
    features = "src/test/java/resources/feature/feature1",
    glue = {"org.xyz.feature1"})
public class CucumberTest {

}

@RunWith(SpringRunner.class)
@SpringBootTest(classes = {Application.class},
                webEnvironment = WebEnvironment.RANDOM_PORT)
@ContextConfiguration
@Ignore
@Transactional
public class FeatureTest extends CucumberTest {

  @LocalServerPort
    int randomServerPort;

  @Given("........")
  public void test_1 {

   }

}
另一答案

我发现了问题,并更新了回购。

我做了以下工作让它工作:

  • RANDOM_PORT添加到@SpringBootTest
  • 添加了@ContextConfiguration
  • RestTemplate切换到TestRestTemplate

以上是关于春季启动黄瓜测试的主要内容,如果未能解决你的问题,请参考以下文章

春季启动 websocket 测试

春季启动测试:为每个测试加载上下文?

Maven的验证上启动和每个班级停止春季测试运行

春季启动测试:弹簧属性被忽略

春季启动junit不工作

在春季启动测试中使用wiremock随机端口设置属性