java - EasyMock 和测试 protected 方法

标签 java easymock

尝试使用 EasyMock 来测试 protected 方法是否被调用,不确定这是否是最好的方法...但是考虑到以下内容,我如何知道在 callMe() 时确实调用了 didIgetCalled()被叫了?

public Class testMe(){
    public int callMe(){
        if(true){
            didIgetCalled();
        }
        return 1;
    }
    protected int didIgetCalled(){
        return 2;
    }
}

最佳答案

这是一种无需使用 EasyMock 即可测试方法的方法,但我的建议是:如果它不是公开的,请勿为其编写测试

Method method = testMe.class.getDeclaredMethod("didIgetCalled", new Class[]{});
method.setAccessible(true);
testMe testClass = new testMe();
int invoke = (Integer) method.invoke(testClass);
assertEquals(2,invoke);

我知道这并不能完全解决您的问题,但这是一个开始:)

关于java - EasyMock 和测试 protected 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9122339/

相关文章:

java - 查找 HashMap 是否包含值并仅删除该值

java - 我正在使用 daikon Chicory 进行不变检测,但遇到 java.lang.VerifyError

java - 当所有节点都是模拟时,如何使用 EasyMock 测试 "tree of calls"?

java - EasyMock + PowerMock : How to mock field?

java - 缺少前述方法调用的行为定义 :Usage is: expect(a. foo()).andXXX()

Java 百分比

java - 一元运算符的错误操作数类型字符串 '+'

java - 如何使用 Spring MVC 从 url 下载文件?

java - EasyMock 循环内的期望

java - easymock 意外行为