メソッドのMockito + Junitテストを記述する必要があり、そのメソッドはプロパティファイルからデータを読み込みます。テストケースを実行しようとすると、プロパティファイルがロードされていますが、nullが返されます。以下は、私のコードです:プロパティファイルからプロパティを読み取るメソッドのMockito + Junitテストケースの書き方
@RestController
@PropertySource("classpath:/com/example/prop.properties")
public class ReadProp {
@Value("${name}")
private String name;
@Value("${rollNo}")
private String rollNo;
@RequestMapping(value="/")
public void getDetails(){
System.out.println(name);
System.out.println(rollNo);
}
}
The test case is as follows
@RunWith(MockitoJUnitRunner.class)
@PropertySource("classpath:/com/example/prop.properties")
public class ReadPropTest {
@Mock
private ReadProp readProp;
@Value("${name}")
private String name;
@Value("${rollNo}")
private String rollNo;
@Test
public void readValues() {
System.out.println(name);
System.out.println(rollNo);
readProp.getDetails();
}
}
あなたのテストはMockitoで実行されます。 MockitoはSpringについて何も知らないので、 '@ PropertySource'アノテーションは無視されます。大きな質問は、何をテストしたいですか?プロパティの読書部分?この場合、テストをスプリングテストにする必要があります。または、メソッドを使用すると、リフレクションを使用してプロパティを設定できます。あなたがテストしているクラスを嘲笑することは全く役に立たない。 –
ここではメソッドをテストしたいだけです。そのメソッドのテストケースを実行すると、実際のクラスがロードされ、プロパティファイルからデータを読み込み、値を出力する必要があります。この機能は私のプロジェクトで問題を解決することができます – billa
私はReadPropクラスの@Mock Annotationを削除しました。私はテストケースを走らせました..上記の機能はまだ動作していません...私に役立つサンプルやリファレンスを提供できるのであれば – billa