私はSpring Boot 1.4.2を使用しています。@ConditionaOnPropertyでアノテートされたクラスのSpringとWebの統合テスト
例えば、私は
@Service
@ConditionalOnProperty("${my.property.enabled:false}")
public class MyService {
}
を次のように注釈付きのサービスを持っていると私はそれが統合テストを行うテストしたいです
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
public class MyServiceTest {
@Autowired
private MyService myService;
}
サービスはテストで自動的に行われません。私はテストフォルダ内のプロパティファイルのプロパティを設定しないようにしたい。 MyServiceTest
内のそのような注釈を使用してプロパティを直接有効にすることはできませんか?
あなたが達成しようとしていることを正確に知るのに役立ちます。 '@Bean MyService'を無条件に宣言するテストのための' @Configuration'クラスを持つだけでよいでしょう。 – chrylis
このアプローチは興味深いようです。 MyServiceTestで特定の設定を実行するにはどうすればよいですか? –
新しいBootテストの魔法の仕組みがわからない。私は通常 '@ ContextConfiguration'を使用します。テストクラスで(静的な) '@ Configuration'ネストされたクラスを宣言して、それが取得されたかどうかを調べることができます。 – chrylis