春季-从IDE运行测试-如何从“ application-test.properties”

时间:2019-05-19 19:46:43

标签: spring spring-test spring-properties

如何从“ 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运行测试。这是为什么?

1 个答案:

答案 0 :(得分:1)

如果启动了配置文件,Spring Boot将自动加载正确的属性文件。在测试中,您可以为此使用@ActiveProfiles批注。

接下来,您需要确保使用@SpringBootTest确实使用了正确的Spring Boot基础结构来运行测试。话虽如此,您的测试标头应类似于以下

@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("test")
public class TodoListServiceTest { ... }

当然,在运行测试之前,请确保您的IDE可以构建应用程序。