Menu

キーワード

  • Spring Boot
  • JUnit
  • STS
  • Eclipse

現象

STS(Eclipse)でJUnitのテストをするとき、プロフィールのプロパティが読めない。

次を試したがだめだった。

項目設定内容
Program arguments--spring.profiles.active=dev
Environment variables to set(Variable,Value)=(SPRING_PROFILES_ACTIVE,dev)

原因

EclipseのJUnit test runnerがSpring Bootのようにやってくれないから?

the JUnit runner simply doesn't parse arguments the same way that a spring boot app does.

対策

次のようにプロパティファイルを用意している場合、

プロパティファイル内容
application.yml環境依存の設定を除く
application-dev.yml環境依存の設定のみ

application.ymlに環境依存の設定も合わせて記述する。

備考

Gradleからテストする場合、

export SPRING_PROFILES_ACTIVE=dev

をすれば

gradle test

できる。

参考

スポンサーリンク