Java JUnit5测试类中的测试概要文件中的Springbean没有被注入
我想在我的JUnit5测试类中使用Java JUnit5测试类中的测试概要文件中的Springbean没有被注入,java,spring,configuration,mockito,Java,Spring,Configuration,Mockito,我想在我的JUnit5测试类中使用 @SpringBootTest @RunWith(JUnitPlatform.class) @ActiveProfiles("localtest") class WorkreportDbRepositoryTest { @Autowired private SystemPriceSettingService systemPriceSettingService; // the rest omitted .... } 在测试环境的配置中创建的be
@SpringBootTest
@RunWith(JUnitPlatform.class)
@ActiveProfiles("localtest")
class WorkreportDbRepositoryTest {
@Autowired
private SystemPriceSettingService systemPriceSettingService;
// the rest omitted ....
}
在测试环境的配置中创建的bean:
@Profile("localtest")
@Configuration
public class TestConfig {
@Bean
public SystemPriceSettingService systemPriceSettingService(){
return new MemoryPriceSettingService();
}
}
但是
SystemPriceSettingService
bean不是注入的。我的设置有什么问题?您没有使用支持Spring的JUnit Runner。因此没有创建Spring上下文。您应该将其替换为测试类上的注释,例如:
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.test.context.junit.jupiter.SpringExtension;
@SpringBootTest
@ExtendWith(SpringExtension.class)
@ActiveProfiles("localtest")
class WorkreportDbRepositoryTest { ...}
并添加此依赖项以便能够使用SpringExtension
:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>2.18.0</version> <!-- your mockito version-->
<scope>test</scope>
</dependency>
org.mockito
莫基托朱庇特酒店
2.18.0
测验
您忘了用@ExtendWith(SpringExtension.class)对其进行注释。