您的位置:首页 > 编程语言

用 JMockit 编程测试代码

2016-05-12 15:35 330 查看
jmockit 测试 主要原理是 通过 mock(虚拟)待测试方法中 调用其他分层 方法的不同返回值 来测试方法。使用这种 mock 方法 可以 单独对 程序中的 某个分层进行测试  

1、pom文件引入jmockit包

<span style="white-space:pre">	</span><groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>1.19</version>
2、测试类 类头部添加 jmockit 注解

     @Runwith(Jmockit.class)
public class test{

}

3、用 @Tested 标注待测试的类

@Tested
private UserAction userAction ;


4、用 @Injectable 注解注入 UserAction类中注入的bean

@Injectable
private UserService UserService;
@Injectable
private LoginService loginService;


5、用@before 注解 标记 运行测试前 使用的初始化数据方法

@Before
public void init() {
user user=new User();
user.setName("test")
}


6、编写测试函数并 用@Test 标注

@Test
public void test() {

}
  test() 函数的编写一般分三步:

  1)设置想要 mock 的待测试方法中 调用的方法及返回值

new Expectations() {{
loginService.getByMemberId(memberId); result = user;
loginInfoService.getPumaMemberInfo(memberUuid); result = loginInfo;
}};


  2)执行待测试的方法

userAction.login();


  3) 验证待测试方法运行后返回的结果,主要是使用 user = withCapture() 方法去提取调用方法中的参数
new Verifications() {{
User user=null;
login.check(user=withCapture());
assertEquals("ce",user.getName());

}}
  注意 : new Verifications(){{ }} 此处使用的是双括号。 

 

 按照以上6步即可编写一个比较完整的jmockit 测试类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: