`
ginge
  • 浏览: 208682 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jmockit 的使用示例-08可否Mock final的类和方法?

阅读更多

目标测试代码

package jmockit.target;

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

 

mock 代码

package 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(""));

	}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics