0

私は1つのフィクスチャを書きました:

!define TEST_SYSTEM {slim}
!path E:\eclipse\eclipse_workspace\FitnesseDemo\bin

電卓の例

|com.example.qc.fixture.CalcFixture|
|pad1|pad2|margin1|margin2|get Padding?|get Margin?|
|7|8|8|8|25|26| 

実際のコードでは、1つのサードパーティクラスをモックする必要があります。(デルタ)私はそのためのコードを書きましたが、どのようにそのコードをfitnesseに含めるのですか?

以下を含む1つのセットアップページを作成しました。

!define TEST_SYSTEM {slim}
!path E:\eclipse\eclipse_workspace\FitnesseDemo\bin
!path E:\Docs\fitnesse\powermock-mockito-1.3.6-full.jar
!path E:\Docs\fitnesse\mockito-all.jar
!path E:\Docs\Junit\powermock-module-javaagent-1.4.10.jar

|Import|
|com.example.DeltaMock|

モックされたオブジェクトが呼び出されていません。代わりに、実際のオブジェクトが呼び出されます。セットアップページのコードが間違っていますか?


最初にCalcFixtureをモックしようとしましたが、常に実際のオブジェクトを取得していました。計算フィクスチャでは、次のコードがあります

public int getPadding() throws Exception {

    Calc calc = new Calc();

    Delta ref = PowerMockito.mock(Delta.class);

    PowerMockito.whenNew(Delta.class).withNoArguments().thenReturn(ref);

    System.out.println("DeltaMocking.padding(rerf===  )" + ref);

    Mockito.stub(ref.padding()).toReturn(10);

    Padding = calc.addpadding(pad1, pad2);

    return Padding;

}

Addpaddingメソッドには次のコードがあります。

public int addpadding(int x, int y) {

    int k=0;

    Delta ref = new Delta();

    System.out.println("Calc.addpadding() refff="+ref);

    int z = ref.padding();

    k = x + y + z;

    return k;
}

Deltaのモックオブジェクトが呼び出されることはありません。

それを通して私を助けてください..

4

1 に答える 1

0

Fitnesseテストでは、モックオブジェクトまたは実際のオブジェクトを使用して何かをテストするかどうかを気にする必要はありません。すべての作業はで行われますCalcFixture-これは、Mockitoを使用して必要なオブジェクトをモックする必要がある場所です。

于 2013-03-26T05:19:49.263 に答える