2016-11-30 9 views
1

環境インターフェイスを使用してプロパティファイルからパスを取得する必要があります。 Junitsでは、私は環境インタフェースを模擬することができません。以下は私のコードです。私が言及された方法を呼び出すならば、無作為のものが欲しい。どうしたらいいですか?環境インターフェイスを模擬する方法

@Mock 
    private Class object; 
@InjectMocks 
    Class2 object2; 

Mockito.when(object.getFilePath()).thenReturn("Random String"); 
+0

環境インターフェイスは、独自のインターフェイスまたはlibのインターフェイスですか? – davidxxx

+0

これはフレームワークインタフェースです... org.springframework.core.env.Environment; @davidxxx –

+0

あなたはSpringからMockEnvironmentを使うことができます – davidxxx

答えて

2

としては、あなたが春からEnvironmentを模擬するMockEnvironmentクラスを使用することができ、あなたはMockitoを必要としない、私のコメントで述べています。

MockEnvironment environment = new MockEnvironment(); 
    environment.setProperty("yourKeyOne", "yourValue1"); 
    environment.setProperty("yourKeyTwo", "yourValue2"); 

をそしてあなたの必要性に応じて、あなたはこの環境変数を使用することができます。
あなたは、このように値を設定することができます。 は例えば、ここにAnnotationConfigWebApplicationContextインスタンスである:あなたがMockitoを使用している場合は、次のよう

AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); 
    context.setEnvironment(environment); 
0

、あなたがそれを行うことができます。

@RunWith(MockitoJUnitRunner.class) 
class SampleMockitoTest { 

    @Mock 
    private Environment mockEnvironment; 

    @Test 
    public void sampleTest() { 
     //use mockEnvironment here 
    } 
} 
関連する問題