1

src/test/java の下にこれら 2 つのクラスを指定しました

@RunWith(SpringRunner.class)
@SpringBootTest
public class ExampleTest {

@Autowired
private Example example;

   @Test
   public void getTwoTest() {

       assertEquals(new Integer(2), example.getTwo());
   }

}

@TestComponent
public class Example {

   public Integer getTwo(){
       return 2;
   }

}

ドキュメントを読みましたが、まだ多くの質問があります。「Run as Junit Test」をクリックすると、Bean「Example」を自動配線できないため、エラーが発生します。src/test/java 内の Bean を検索するためにスプリング ブートを行うにはどうすればよいですか? 私の2番目の質問は、テスト専用の別のapplication.propertiesを使用するにはどうすればよいですか?

4

2 に答える 2

0

@TestComponentの JavaDoc を見ると、次のように書かれています。

「Bean がテストのみを目的としている場合に使用できる @Component であり、Spring Boot のコンポーネント スキャンから除外する必要があります。」

したがって、例は配線されません。別のテストクラスをテストして何を達成しようとしているのかわかりません。Example を src/main/java の下に配置して、@Component で注釈を付けてみてください。

テスト固有のプロパティについては、@TestPropertySourceのドキュメントを確認してください。これにより、インラインまたは別のファイルからの新しい値でプロパティをオーバーライドできます。

于 2017-02-08T12:48:16.133 に答える