使用@DataJpaTest注释时无法加载application.properties文件

时间:2018-04-17 20:47:05

标签: spring unit-testing spring-data-jpa

我正在尝试在Spring启动项目中加载应用程序属性以进行测试。我也在使用@DataJpaTest注释。许多人建议使用@TestPropertySource注释与@datajpaTest的组合,但它不加载属性。如果我使用@SpringBooTest,那就是加载属性。

@RunWith(SpringRunner.class)
@DataJpaTest
@TestPropertySource(locations="classpath:application.properties")
public class EntityRepositoryTests {
}

我的应用程序属性文件位于main / resource /文件夹中。 如果我使用@SpringBootTest(properties = { "classpath:application.properties" }但我有

,它会工作
 @Autowired
    private TestEntityManager entityManager;

无法使用SpringBootTest自动配置。我也试过@ContextConfiguration(initializers=ConfigFileApplicationContextInitializer.class)但没有运气。

1 个答案:

答案 0 :(得分:0)

要进行测试,您必须使用

@ActiveProfiles("test")

以及application-test.properties

这些是我刚刚使用的

@RunWith(SpringRunner.class)
@DataJpaTest(showSql = false)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@ActiveProfiles("test")