- 浏览: 212045 次
- 性别:
- 来自: 杭州
最新评论
-
李嘉图0624:
第一段代码就出错了,少了g.close();不关闭的话,也没有 ...
Jackson 入门 -
daichangfu:
不光是生僻字需要,正常的也需要啊。
解决Java应用在Linux下无法正常水印生僻字 -
yaoweinan:
不错
JGroup配置笔记 -
learnworld:
grandboy 写道我想json的数据多一些对于数据绑定回j ...
Jackson 入门 -
grandboy:
我想json的数据多一些对于数据绑定回javabean时不会出 ...
Jackson 入门
文章列表
最近辅导黄埔的同学进行开发,发现了一些问题,隐约看到当年自己写代码时的影子,汗啊。快看看自己占了多少条?
模板变量基本不使用$!
模板里面一堆的业务逻辑判断
表单校验未做
Action直接调用DAO
数据库记录的修改时间直接在web层赋值
action过多的业务处理
在web层使用事务控制业务空指针考虑不全
大量使用控制台输出
程序中直接输出堆栈信息
代码充斥很多中文
异常处理流程覆盖不足
占资源的对象未正常关闭
数据库序列使用不规范
SQL语句中存在select*
SQL条件过多,索引建立成本很大
多条记录,逐条插入性能差
批量更新使用in,条数限制10 ...
jmockit 的使用系列
- 博客分类:
- 综合
1. 入门
2. 完整的Mock步骤
3. 全部mock的?
4. 静态部分mock示例
5. 动态部分mock
6. 私有成员的Mock
7. 私有静态成员Mock
8. 可否Mock final的类和方法?
9. 构造方法也可以Mock?基于状态的Mock?
10. 另一种基于状态的Mock,随穿随脱?
11. 不是吧,还能访问实际被Mock的对象?
目标测试代码
WinportUrlService
package jmockit.target ...
package jmockit.sample;
import jmockit.target.WinportUrlService;
import junit.framework.Assert;
import mockit.Expectations;
import mockit.Mocked;
import org.junit.Test;
/**
* 最简单的Mock示例;我们要在需要mock的类加上注解@Mocked或者@NonStrict;录制Expectations可有可没有。没有录制时,被mock的方法只会返回一个默认的值。验证Verifications可以有,也 ...
jmockit 的使用示例-02完整的Mock步骤
- 博客分类:
- 综合
package jmockit.sample;
import jmockit.target.OfferPostAction;
import jmockit.target.WinportUrlServiceImpl;
import junit.framework.Assert;
import mockit.Mocked;
import mockit.NonStrictExpectations;
import mockit.Verifications;
import org.junit.Test;
/**
* 一个完整的Mock会有三个步骤,步骤一、record (录制) ...
jmockit 的使用示例-03全部mock的?
- 博客分类:
- 综合
package jmockit.sample;
import jmockit.target.OfferPostAction;
import jmockit.target.WinportUrlServiceImpl;
import junit.framework.Assert;
import mockit.Expectations;
import mockit.Mocked;
import mockit.NonStrictExpectations;
import org.junit.Test;
/**
* 全部mock示例;一个被Mock注解的类型,默认是所有方法都 ...
jmockit 的使用示例-04静态部分mock示例
- 博客分类:
- 综合
package jmockit.sample;
import jmockit.target.OfferPostAction;
import jmockit.target.WinportUrlServiceImpl;
import junit.framework.Assert;
import mockit.Expectations;
import mockit.Mocked;
import org.junit.Test;
/**
* 静态部分mock示例,靜態Mock是通过注解@Mocked中的字段methods声明的。
*
* @see
* @auth ...
package jmockit.sample;
import jmockit.target.OfferPostAction;
import jmockit.target.WinportUrlServiceImpl;
import junit.framework.Assert;
import mockit.Expectations;
import mockit.Mocked;
import org.junit.Test;
/**
* 动态Mock示例,如果在录制阶段new
* Expectations不传入任何参数,那么声明为mock的类型的所有方法将会被mock ...
目标测试代码
package jmockit.target;
/**
* 示例一个公共方法内部调用了一个私有方法;示例私有成员变量的设值。
*
* @author Ginge
*
*/
public class InstanceInternalAccess {
private int memberCounts;
private int getMemberCounts() {
return th ...
目标测试代码
package jmockit.target;
public class StaticAccess {
private static int memberCounts;
private static int getMemberCounts() {
return memberCounts;
}
/**
* 把传入的count和内部定义的私有int类型的memberCounts的值相加,返回相加的结果。
*
* @param count
* @return
*/
public static int sumI ...
目标测试代码
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.t ...
目标测试代码
package jmockit.target;
public class Constructor {
private String memberId;
public Constructor(String memberId) {
this.memberId = memberId;
}
public String getRealName() {
return "real_" + this.memberId;
}
}
Mock代码
package jmockit.sample;
import ...
目标测试代码
package jmockit.target;
public class Constructor {
private String memberId;
public Constructor(String memberId) {
this.memberId = memberId;
}
public String getRealName() {
return "real_" + this.memberId;
}
}
Mock代码
package jmockit. ...
目标测试代码
package jmockit.target;
public class Constructor {
private String memberId;
public Constructor(String memberId) {
this.memberId = memberId;
}
public String getRealName() {
return "real_" + this.memberId;
}
public String getRealInstanceName(String m) {
...
目标测试代码
package jmockit.target;
public class StaticAccess {
private static int memberCounts;
private static int getMemberCounts() {
return memberCounts;
}
/**
* 把传入的count和内部定义的私有int类型的memberCounts的值相加,返回相加的结果。
*
* @param count
* @return
*/
public static int sumI ...
package jmockit.sample;
import jmockit.target.OfferPostAction;
import jmockit.target.WinportUrlServiceImpl;
import junit.framework.Assert;
import mockit.Mocked;
import mockit.NonStrictExpectations;
import mockit.Verifications;
import org.junit.Test;
/**
* 一个完整的Mock会有三个步骤,步骤一、record (录制) ...