【问题标题】:JMockit mock methods of the target class目标类的 JMockit 模拟方法
【发布时间】:2018-08-09 17:35:13
【问题描述】:

我是 JMockit 的新手。如何在使用 Expectations 或任何更好的方法为 method1() 编写测试时模拟 method2()。我用期望来模拟依赖类。

public class A {

Dependency dep = new Dependency();
public int method1(int val){
    //some business logic
    //....
    //.....
    dep.someMethod();
    int ret = method2(val);
    return ret;
}

public int method2(int val) {
    //some business logic
    //....
    //.....
    return val;
}

}

【问题讨论】:

  • 你为什么要这么做?
  • 如果我不这样做,如何完成 method1() 的单元测试。有没有其他办法?
  • 为方法1测试方法2中发生的任何事情。
  • 在我的实际课程中,我正在调用同一个课程本身的方法来获得一些输出。因此,当我尝试为 method1() 编写单元测试时,它会抛出错误,因为我没有将实际值传递给 method2()。而且这个method2()在内部调用了太多不同类的其他方法。
  • 抱歉,我没有收到您的最后一条评论。

标签: java junit jmockit


【解决方案1】:

创建method2的Mockup并根据您测试的测试用例返回。

new MockUp<A>() {

            @Mock
           int method2(int val) // no access modifier required
            {
                return yourRequiredOutput;
            }
}
 new Expectations() {

            {
                depMock.someMethod();
            }
        };

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多