【问题标题】:Spring boot unit test not work with application.ymlSpring Boot 单元测试不适用于 application.yml
【发布时间】:2016-11-13 17:28:32
【问题描述】:

我无法进行单元测试以读取 application.yml。我已经按照下面的 url 进行了回答,但它仍然无法正常工作。

Spring Boot properties in 'application.yml' not loading from JUnit Test

感谢有人可以提供帮助。谢谢。

我的代码如下:

Application.java

@SpringBootApplication
@ImportResource("classpath:app-config.xml")
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

TestTokenGenerator.java

    @RunWith(SpringJUnit4ClassRunner.class)
    @SpringApplicationConfiguration(classes=Application.class, initializers=ConfigFileApplicationContextInitializer.class)
    @ContextConfiguration(locations={"classpath:app-config-test.xml"})
    public class TestTokenGenerator {

        private static final Logger log = LoggerFactory.getLogger(TestTokenGenerator.class);

        @Value("${test}")
        private String testB;

        @Test
        public void testGenerate() throws UnrecoverableKeyException, KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException{
            log.info(testB);
            log.info(tokenGenerator.generateToken());
}

application.yml

test: "123123"

【问题讨论】:

    标签: java spring spring-boot


    【解决方案1】:

    例如,请参阅有关此问题的 cmets https://github.com/spring-projects/spring-boot/issues/603

    同时声明@ContextConfiguration 和 @SpringApplicationConfiguration 直接在测试类上不是 支持的。 @ContextConfiguration 的第一个实例是 为给定的测试类发现(在测试类中的一个类上) 层次结构或作为元注释)将被使用。所有其他人将 忽略。

    【讨论】:

      猜你喜欢
      • 2018-07-19
      • 1970-01-01
      • 2019-11-24
      • 2018-07-18
      • 2012-07-23
      • 1970-01-01
      • 2021-11-02
      • 2016-05-28
      相关资源
      最近更新 更多