2013-03-25 92 views
0

第三方类我写了一个夹具:如何嘲笑在FitNesse的

!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| 

在实际的代码,我需要模拟一个第三方类。 (Delta) 我已经为此编写了代码,但是如何将该代码包含在fitnesse中。

我已经创建了一个设置页包含以下内容:

!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| 

嘲笑的对象没有被调用。相反,真正的对象正在被调用。 我的SetUp页码错了吗?


首先我试图在CalcFixture中进行模拟,但它总是以真实的对象。 在计算值夹具我有follwing代码

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; 
} 

嘲笑德尔塔的对象不会被调用。如果你正在测试与模拟对象或以假乱真的东西

请帮我通过它..

回答

0

你FitNesse的测试不应该关心。所有的工作都发生在CalcFixture - 这是你应该使用Mockito来模拟你需要的对象的地方。