论坛首页 Java企业应用论坛

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

浏览 2357 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (11)
作者 正文
   发表时间:2010-12-13  

目标测试代码

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

	}
}

 

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics