前一段时间为了方便简单的写了一个JAVA生成测试数据的工具类。
使用场景如下:
有时候定义好了类但是会需要测试数据,这个时候我们可能会需要如下操作。
//伪代码
A a =new A();
a.setB1("xxx");
a.setB2("xxx");
a.setB3("xxx");
//列表
List<A> list=new ArrayList();
for(int i=0;i<10;i++){
A a =new A();
a.setB1("xxx");
a.setB2("xxx");
a.setB3("xxx");
a.setBB(new B());//.....子对象
list.add(a);
}
实现的工具 只需要做如下操作即可
//生成单个对象
A a=TestObjectBuildUtils.get(A.class);
//生成十条数据
List<A> list = TestObjectBuildUtils.getList(A.class,10);
如果有特殊的生成数据选项例如
数据生成会在{}数组中选择
public class TestData implements Serializable {
@TestObject(value = {"张三", "李四", "王五"})
private String userName;
@TestObject(value = {"13511111111", "13500000000"})
public String userTel;
@TestObject(value = {"2021-09-28 18:44:12", "2021-09-30 18:44:12"})
private String createTime;
@TestObject(value = {"113.0846", "113.1846"})
private String svrLongitude;
@TestObject(value = {"28.204844", "28.212222"})
private String svrLatitude;
@TestListType(listType = TestChildData.class)
private List<TestChildData> data;
private TestData2 testData2;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserTel() {
return userTel;
}
public void setUserTel(String userTel) {
this.userTel = userTel;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getSvrLongitude() {
return svrLongitude;
}
public void setSvrLongitude(String svrLongitude) {
this.svrLongitude = svrLongitude;
}
public String getSvrLatitude() {
return svrLatitude;
}
public void setSvrLatitude(String svrLatitude) {
this.svrLatitude = svrLatitude;
}
public List<TestChildData> getData() {
return data;
}
public void setData(List<TestChildData> data) {
this.data = data;
}
public TestData2 getTestData2() {
return testData2;
}
public void setTestData2(TestData2 testData2) {
this.testData2 = testData2;
}
}