在测试中用类路径重写spring资源值

voj3qocg  于 2021-06-30  发布在  Java
关注(0)|答案(3)|浏览(318)

我想重写测试中资源的值:

@SpringBootConfiguration
public class MyExampleConfig {

  @Value("classpath:my-example-resource.yml")
  private Resource myExampleResource;

}

有人知道我怎么能覆盖这个值吗classpath:my-example-resource.yml“在我的测试中?

2j4z5cfb

2j4z5cfb1#

您可以使用create test configuration( ApplicationTest )带测试 .properties 或者 .yml 在测试包中,然后在测试中使用它

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = ApplicationTest.class)
public class Test {
    @Test
    public void test() throws Exception {
      //some code
    }
}
lyfkaqu1

lyfkaqu12#

您可以在参考资料下为测试包提供一个单独的application.properties文件,并且可以定义一个键值对,即: classpath=classpath:my-example-resource.yml 并在代码中使用如下

@Value("${classpath}")
 private String classpath;
dtcbnfnu

dtcbnfnu3#

如果运行@springboottest,可以使用以下注解:

@RunWith(SpringRunner.class)
@SpringBootTest(properties = {
        "key=value",
        "key=value"
})

它们将覆盖默认值。

相关问题