我想在我的jUnit 5测试类中使用@SpringBootTest@RunWith(JUnitPlatform.class)@ActiveProfiles("localtest")class WorkreportDbRepositoryTest { @Autowired private SystemPriceSettingService systemPriceSettingService;// the rest omitted .... }在用于测试环境的配置中创建的 bean:@Profile("localtest")@Configurationpublic class TestConfig { @Bean public SystemPriceSettingService systemPriceSettingService(){ return new MemoryPriceSettingService(); }}但是SystemPriceSettingServicebean没有被注入。我的设置有什么问题?
1 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
您不使用支持 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>
添加回答
举报
0/150
提交
取消