は、私はそうのようなクラスがあります。テストのメソッド呼び出しを「インターセプト」するにはどうすればよいですか?
class A {
public static void makeCall() {
URL url = "www.google.com";
InputStream result = url.openStream();
//Do more stuff
}
}
を、私はそれのためのユニットテストを書きたいです。私が何をしたいのかは、openStream()
への呼び出しのようなもので、静的メソッドmakeCall()
を実行して、実際に呼び出しを行う代わりにハードコーディングされたJSONを戻すことができます。私はこれをどうやって模倣するか、それが可能であるかどうかを理解することができませんでした。
Angularの$httpBackend
と同じ動作をお探しですか、ご意見やご提案はありますか?
実際にテストしようとしているロジックからHTTPコードを分離する必要があります(依存性注入と考える)。 – SLaks
だから、あなたの呼び出しを 'makeHTTPCall(URL url)'のようなものに分けて、JSONを返すためにそのメソッドを擬似的に使うことを考えていますか?それは間違いなく動作する可能性があります –
もしあなたが実際にそれを模倣しなければならない場合は、JMockitのmockingライブラリ( '@Mocked URL url'模擬フィールドを宣言し、' openStream() 'に希望の期待値を記録してください) –