Java 根据项目中的参数类构建测试数据
Pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>apiTest</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
<dependency>
<groupId>org.jeasy</groupId>
<artifactId>easy-random-core</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>4.3.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
UserVo
package com.rao.pojo;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
@Data
public class UserVO {
@JSONField(name = "userName")
private String name = "admin";
@JSONField(name = "passWord")
private String password = "123456";
}
UserBuilder 构建测试数据类
package com.rao.base;
import com.rao.pojo.UserVO;
public class UserBuilder {
private final UserVO userVO;
public UserBuilder() {
this.userVO = new UserVO();
}
public UserBuilder withOutUserName() {
userVO.setName(null);
return this;
}
public UserBuilder withOutPassword() {
userVO.setPassword(null);
return this;
}
public UserBuilder withOutAll() {
userVO.setName(null);
userVO.setPassword(null);
return this;
}
public UserVO build() {
return userVO;
}
}
package com.rao;
import com.alibaba.fastjson.JSON;
import com.rao.base.UserBuilder;
import com.rao.pojo.UserVO;
import org.junit.Test;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class TestEasyRandom {
@Test
public void test01() {
List<UserVO> dataList = new ArrayList<>();
dataList.add(new UserBuilder().build());
dataList.add(new UserBuilder().withOutUserName().build());
dataList.add(new UserBuilder().withOutPassword().build());
dataList.add(new UserBuilder().withOutAll().build());
String data = JSON.toJSONString(dataList);
try {
FileWriter fileWriter = new FileWriter("test.json");
fileWriter.write(data);
fileWriter.flush();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}