黄瓜文件是::
@RunWith(Cucumber.class)public class runTest {}
Run Code Online (Sandbox Code Playgroud)
SpringRunner 文件::
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class, properties = "spring.main.web-application-type=reactive",webEnvironment = WebEnvironment.RANDOM_PORT)
@WebAppConfiguration
@AutoConfigureMockMvc
@ContextConfiguration
public abstract class SpringIntegrationTesting {}
Run Code Online (Sandbox Code Playgroud)
步骤定义文件::
@ContextConfiguration(locations = { "Cucumber.xml" })
@WebAppConfiguration
public class UserLoginSteps extends SpringIntegrationTesting {
@Autowired
private WebApplicationContext wac;
private MockMvc mvc;
private MvcResult result;
@Inject
public void init(WebApplicationContext context) {
this.wac = context;
}
@Before
public void before() throws Exception {
mvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
}
....}
Run Code Online (Sandbox Code Playgroud)
错误是
java.lang.IllegalArgumentException: WebApplicationContext is required
at org.springframework.util.Assert.notNull(Assert.java:115)
at org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder.<init>(DefaultMockMvcBuilder.java:52)
at org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup(MockMvcBuilders.java:47) …Run Code Online (Sandbox Code Playgroud)