java unit test Mock框架jMockit示例教程 - Mock final的类和方法

2014-05-31 06:30:01 阅读( 261 )

2607人 收藏本页

标签:Java面试题

mockit以外的其它mock实现都不能mock final的类和final方法,本例子示範mock final的类和final的方法。

package cn.outofmemory.jmockit.target;

/**
* 只有一个final方法的final类,用于示例可以进行final方法的mock
*
* @author Ginge
*
*/
public final class FinalClassNMethod {
public final String getRealName(String memberId) {
return "you";
}
}

mock 代码

package cn.outofmemory.jmockit.sample;

import jmockit.target.FinalClassNMethod;
import junit.framework.Assert;
import mockit.Expectations;
import mockit.Mocked;

import org.junit.Test;

/**
* jmockit以外的其它mock实现都不能mock final的类和final方法,本例子示範mock final的类和final的方法。
* @author Ginge
*
*/
public class FinalClassNMethodTest {
@Mocked//这是一个final类
private FinalClassNMethod FinalClassNMethod = null;

@Test
public void mockFinal() {

new Expectations() {
{
FinalClassNMethod.getRealName(withAny(""));
result = "FinalClassNMethod";
}
};

Assert.assertEquals("FinalClassNMethod", FinalClassNMethod
.getRealName(""));

}
}

下一篇:java重定向stderror

上一篇:怎样用java实现小数的四舍五入?

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题