我正在使用 cucumber 和Spring Boot测试
@CucumberContextConfiguration
@ActiveProfiles(profiles = { "cucumber" })
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)
@ExtendWith(SpringExtension.class)
public class FooTest {
@Autowired
BatchService batchService;
@MockBean
S3ClientService s3ClientService;
@MockBean
HttpClientService httpClientService;
@SpyBean
UndueService undueService;
@Given("^foo cucumber test$")
public void foo_cucumber_test() {
System.out.println("Foo Test");
}
}
当我在@给定方法上使用断点运行/调试测试时
我有一种奇怪的行为 @Mockbean
/ @SpyBean
正确注入,但在测试类中其值为 null
!! 我不能运行mockito函数 verify
或 when
但是当我在没有 cucumber 的情况下进行测试时
@Test
void fooTest() {
System.out.println("Foo Test");
}
它很好用!!这些值不正确 null
1条答案
按热度按时间arknldoa1#
因此,将创建模拟bean,但不会将其注入测试套件。我想你应该把两者都放进去
@Autowired
及@MockBean
注解。这里有一个类似的问题:spring@mockbean没有注射 cucumber