JMock是帮助创建mock对象的工具,可以用简单易行的方法定义模拟对象,简化了测试代码,方便实用。
依赖引入
<dependency>
<groupId>com.github.jsonzou</groupId>
<artifactId>jmockdata</artifactId>
<version>4.3.0</version>
<scope>compile</scope>
</dependency>
示例
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.github.jsonzou.jmockdata.JMockData;
import com.mrt.bizdata.dto.mq.CreditLimitResultDto;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description 测试JMock
* @AUTHER: sk
* @DATE: 2021/5/17
**/
@Data
public class JMockTest implements Serializable {
private static final long serialVersionUID = -1103675024728519251L;
/** 平台编码 */
private String channelNo;
/** 业务类型 */
@NotEmpty(message="业务类型不能为空")
@JsonProperty("busstype")
private String bussType;
/** 核心企业统一社会信用代码 */
@JsonProperty("corecercode")
private String corecercode;
/** 企业统一社会信用代码 */
@JsonProperty("entcercode")
private String entcercode;
/** 基本信息推送流水号 */
@JsonProperty("clientcode")
private String clientcode;
/**
* 最大融资比例
*/
@JSONField(name = "financingMaxRate")
private BigDecimal financingmaxrate;
/**
* 起始日
*/
@JSONField(name ="begin")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyyMMdd")
private Date beginDate;
/**
* 到期日
*/
@JSONField(name ="end")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyyMMdd")
private Date endDate;
/**
* 测试JMock自动生成实体类数据,自动生成不同数据类型的模拟数据,方便测试
*/
public static void main(String[] args) {
JMockTest test = JMockData.mock(JMockTest.class);
System.out.println("test:"+test);
}
}
结果: