我有一个定义为 EmployeeBase.java 的实体类,它有 200 个 setter 方法和 200 个为其声明的私有变量。
我有一个 Employee.java,它扩展了基类 EmployeeBase.java,它也有几个字段。
现在我想为 Employee.java 中的所有字段创建随机值并返回 Employee 对象。
我不确定如何设置 Employee 和基类中存在的所有 setter 值。
请帮我。
谢谢。
有一些库的目标是减少创建 Junit 测试的时间和精力,例如Podam和Easytest。为简单起见,我喜欢在我的测试中使用 Podam。
将 Podam 依赖添加到你的 pom.xml
<dependency>
<groupId>uk.co.jemos.podam</groupId>
<artifactId>podam</artifactId>
<version>7.0.5.RELEASE</version>
</dependency>
写你的豆子:
2.1. 人.java
public abstract class Peopple {
private String name;
private String mail;
private List<String> phones;
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public String getMail() {return mail;}
public void setMail(String mail) {this.mail = mail;}
public List<String> getPhones() {return phones;}
public void setPhones(List<String> phones) {this.phones = phones;}
}
2.2. 课程.java
public class Course {
private String code;
private String name;
public String getCode() {return code;}
public void setCode(String code) {this.code = code;}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
@Override
public String toString() {
return return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
}
}
2.3. 学生.java
public class Student extends Peopple {
private Course course;
public Course getCourse() {return course;}
public void setCourse(Course course) {this.course = course;}
@Override
public String toString() {
return return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
}
}
使用 Podam 填充豆子:
public class PodamDataGenerator {
public static void main(String[] args) {
PodamFactory podamFactory = new PodamFactoryImpl();
//Limit number of elements to collections fields
podamFactory.getStrategy().setDefaultNumberOfCollectionElements(2);
Student student = podamFactory.manufacturePojo(Student.class);
System.out.println("Podam Pojo\n-----------\n " + student);
}
}
输出
Podam Pojo
-----------
Student[course=Course[code=Dr0zgS5ZKw,name=ZrGJ8xAcJQ],
name=nB6zy558W5,mail=DuW6YyLgo3,phones=[Wlc7axk_A7, nQxDmUlukY]]
希望这可以帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句