我尝试执行一些Spring启动应用程序的Cucumber测试。
在测试运行之前,似乎没有启动Spring Boot。
我错过了什么?
我的Cucumber回购仍然没有完成上述所有步骤:
https://github.com/BarathArivazhagan/Cucumber-spring-integration
文件:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html
要添加更多:
@SpringBootTest
负责加载应用程序上下文,在这种情况下@ContextConfiguration
是还原剂。TestRestTemplate
bean,但它仍然可以与RestTemplate一起使用。RANDOM_PORT
的情况下运行,但RANDOM端口也可以结合使用进行测试。假设你在feature1
中有一个特征文件,glueCode
和org.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