2017-09-23 128 views

回答

1

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

我做了如下得到它的工作:

  • 新增RANDOM_PORT@SpringBootTest
  • 新增@ContextConfiguration
  • RestTemplate切换到TestRestTemplate
1

我的黄瓜回购仍然运行没有拼尽全力上述步骤:

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. 弹簧测试会自动提供一个TestRestTemplate的bean,它可以自动装配,但它仍然可以与RestTemplate一起使用。

  3. 它仍然运行没有RANDOM_PORT,但RANDOM端口也可以联合使用进行测试。

1

比方说,你有一个特点文件,feature1,并在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 { 

    } 

} 
glueCode