spring - @Value 注释不适用于 STS 3.9.6 上的 Infinitest 5.2.0
问题描述
当 Infinitest 抱怨错误的配置值触发 JUnit 测试时会失败。例如
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'databaseConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.data.mongodb.database' in value "${spring.data.mongodb.database}"
似乎没有加载应用程序属性,尽管它们存在于资源文件夹中并且在手动运行测试时工作正常。
我正在使用带有 Infinitest 5.2.0 的 Spring Tool Suite 3.9.6
单元测试是这样注释的
@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = ChargeConsumerApplication.class)
@ActiveProfiles("test")
public class ChargeConsumerApplicationTest {
@Test
public void contextLoads() {
}
@Test
public void applicationContextLoaded() {
}
@Test
public void applicationContextTest() {
ChargeConsumerApplication.main(new String[] {});
}
}
是 STS 问题还是我需要为 Infinitest 本身进行一些额外配置?
解决方案
推荐阅读
- android - React Native 意图交互(onActivityResults 在活动开始之前运行)
- python - 如何在类中调用函数?
- javascript - 你不应该在外面使用
在皮拉尔 - reactjs - 如何在反应和反应测试库中模拟事件处理函数
- ios - iOS swift:UICollectionview 水平滚动单个单元格不重新加载
- python - 如何在 Django 中构建模型?
- javascript - 如何在一个表格行中显示相似的 JSON 数据
- flutter - 因为 flutter_paystack 1.0.2+1 依赖于 intl ^0.16.0
- jquery - 在同一页面上具有相同元素名称的多个模式
- html - 导航栏在一秒钟后在 Bootstrap 的小屏幕上消失