0

プロジェクトのいくつかの静的メソッドの単体テスト ケースを書きたいのですが、

私のクラスコードのスニペット、

Class Util{
  public static String getVariableValue(String name)
  {
     if(isWindows()){
       return some string...
     }
     else{
       return some other string...
     }
  }

  public static boolean isWindows(){
    if(os is windows)
       return true;
    else
      return false; 
  }

}

基本的には、isWindows() が 'false' を返すときの getVariableValue() の単体テスト ケースを書きたいと思います。powermock を使用してこれを記述するにはどうすればよいですか?

4

2 に答える 2

4

このソリューションでは、Easymock も使用して期待値を設定します。まず、テストクラスを準備する必要があります:

@RunWith(PowerMockRunner.class)
@PrepareForTest(Util.class)
public class UtilTest {}

静的クラスをモックします。

PowerMock.mockStaticPartial(Util.class,"isWindows");

期待値を設定します:

EasyMock.expect(Util.isWindows()).andReturn(false); 

モックを再生します。

PowerMock.replay(Util.class);

テストしたいメソッドを呼び出し、その後でモックを検証します。

PowerMock.verify(Util.class);
于 2013-09-04T13:21:25.403 に答える