2016-07-11 6 views
1

私のユニットテストでapplication.ymlを読み取ることができません。私は以下のURLの答えに従ってきましたが、それでも動作していません。Springブートユニットテストがapplication.ymlで動作しない

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" 

答えて

1

この問題についてのコメントを参照してください。例えば、https://github.com/spring-projects/spring-boot/issues/603である。テストクラスに直接@ContextConfigurationと @SpringApplicationConfiguration両方を宣言

はサポート ありません。特定のテストクラス(テストクラス のクラスまたはメタアノテーションのいずれかのクラスのいずれか)で検出された である@ContextConfigurationの最初のインスタンスが使用されます。他はすべて無視されます 。

関連する問題