2017-07-22 16 views
1

は、私はこのようなパブリックメソッドを持っていますか?ユニットテストで返されるリソースのリストと入力ストリームとの関係を確立するにはどうすればよいですか?ユニットテスト機能インタフェース

+0

あなたはのgetInputStream()は何を共有できます。一つの可能​​なオプションがspyあなたgetInputStream()方法になるでしょうか? – Mureinik

+1

getInputStream()は、サーバーから読み取られた複数のファイルの入力ストリームを結合した後にSequenceInputStreamを返します。 –

答えて

0

ここで論理はあまりありません。機能がInputStreamに適用されていることを確認するため、Mockito.verifyなどを使用するのはおそらく正しい方法です。

残念ながら、InputStreamは通常equals(Object)を上書きしないので、何らかの方法が必要です。

@Test 
public void testGetResource() { 
    SomeClass someClass = Mockito.spy(new SomeClass()); 
    InputStream is = Mockito.mock(InputStream.class); 
    Mockito.doReturn(is).when(someClass).getInputStream(); 

    Function<InputStream, List<Resource>> mockFunc = 
     Mockito.mock(Function.class); 

    someClass.getResource(mockFunc); 

    Mockito.verify(mockFunc).apply(someClass.getInputStream()); 
} 
関連する問題