如何从“ application-test.properties”之类的文件中加载测试属性?
该文件存储在src / test / resources文件夹中。我还将文件也放在所有可能的文件夹中。作为Maven测试运行的一部分运行测试时,所有工作正常。 从(IntelliJ)IDE运行新的(单个)测试时,每次得到的错误消息都相同:
由于:java.io.FileNotFoundException:类路径资源 [application-test.properties]无法打开,因为它没有 存在
这是测试类:
@RunWith(SpringRunner.class)
@EnableAutoConfiguration
@ComponentScan(basePackages = {"nl.deholtmans.tjm1706.todolist"})
@PropertySource( "application-test.properties")
public class TodoListServiceTest {
@Autowired
TodoListService todoListService;
@Test
public void testBasic() { ... }
看来我必须第一次从Maven运行测试。这是为什么?
答案 0 :(得分:1)
如果启动了配置文件,Spring Boot将自动加载正确的属性文件。在测试中,您可以为此使用@ActiveProfiles
批注。
接下来,您需要确保使用@SpringBootTest
确实使用了正确的Spring Boot基础结构来运行测试。话虽如此,您的测试标头应类似于以下
@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("test")
public class TodoListServiceTest { ... }
当然,在运行测试之前,请确保您的IDE可以构建应用程序。