很高兴的看到能够解决final和static相关的顽疾的mock tool出现。
Jmockit还没有算正式发布,前端时间问了一下作者,据说是会解决本身dependcy mock出错的问题。
现在有点懒得写技术文章了,一方面时间不够,另外一方面觉得草草写出点轮廓还是对不起观众。
细节太多,问题太多,不亲自动手实验,作用确实也不大。
写点cool的,以前我在文章中提起过关于静态方法的mock:
class FileUtil{
public static String getName(File file){
....
}
}
class Service{
public void execute(){
...
FileUtil.getName(file);
...
}
}
遇到这种情况,以前接近无解,除非重写这个类,并设置为相同package优先加载。
现在对于Jmockit就比较easy了:
class ServiceTest{
private Service serivce;
FileUtil fileUtil;
....//some before method
@Test
public void executeTest(){
new Expectations(){
{....
FileUtil.getName(withAny()); returns("Test");
....}
}
}
}
基本上说,static的mock用起来还是非常爽的。
现在JMockit文档很少,例子和javadoc也不算详尽,但是要把case写起来还是比较容易的了。
Jmockit还没有算正式发布,前端时间问了一下作者,据说是会解决本身dependcy mock出错的问题。
现在有点懒得写技术文章了,一方面时间不够,另外一方面觉得草草写出点轮廓还是对不起观众。
细节太多,问题太多,不亲自动手实验,作用确实也不大。
写点cool的,以前我在文章中提起过关于静态方法的mock:
class FileUtil{
public static String getName(File file){
....
}
}
class Service{
public void execute(){
...
FileUtil.getName(file);
...
}
}
遇到这种情况,以前接近无解,除非重写这个类,并设置为相同package优先加载。
现在对于Jmockit就比较easy了:
class ServiceTest{
private Service serivce;
FileUtil fileUtil;
....//some before method
@Test
public void executeTest(){
new Expectations(){
{....
FileUtil.getName(withAny()); returns("Test");
....}
}
}
}
基本上说,static的mock用起来还是非常爽的。
现在JMockit文档很少,例子和javadoc也不算详尽,但是要把case写起来还是比较容易的了。
骇人听闻的装修工程
Memory

2009/09/02 11:55 | by 