这是我当前的Junit5测试脚本
Class testObject {
private Integer integerField;
private String stringField;
private Boolean booleanField;
...getter, setter here
}
Class TestScript {
private static final INTEGER DEFAULT_INTEGER_FIELD = 123;
private static final STRING DEFAULT_STRING_FIELD = "string";
private static final BOOLEAN DEFAULT_BOOLEAN_FIELD = false;
private TestObject testObject;
@BeforeEach
public void initTest{
testObject.setIntegerField(DEFAULT_INTEGER_FIELD );
testObject.setStringField(DEFAULT_STRING_FIELD );
testObject.setBooleanField(DEFAULT_BOOLEAN_FIELD );
}
@Test
public void saveShouldReturnTestObjectWithAllField() {
//arrange
...
//act
TestObject savedObject = repository.save(testObject);
//assert
assertEquals(savedObject.getIntegerField(), DEFAULT_INTEGER_FIELD);
assertEquals(savedObject.getStringField(), DEFAULT_STRING_FIELD);
assertEquals(savedObject.getBooleanField(), DEFAULT_BOOLEAN_FIELD);
}
这是很多类型的输入,尤其是对象具有很多字段。
我想知道是否可以编写任何库或实用程序类来帮助我
testObject
并将随机值作为默认值分配给testObject
testObject
中的所有字段都等于如果可以的话,那太酷了
Class TestScript {
private TestObject testObject;
@BeforeEach
public void initTest{
testObject = CustomAssertUtil.initDefault(testObject);
}
@Test
public void saveShouldReturnTestObjectWithAllField() {
//arrange
...
//act
TestObject savedObject = repository.save(testObject);
//assert
CustomAssertUtil.assertEqualsAllWithDefault(savedObject);
}
}
您可以将Open Pojo用于此任务:openpojo
public class EntityTest {
@Test
public void shouldSetAndGet() {
PojoClass pojoclass = PojoClassFactory.getPojoClass(Entity.class);
Validator validator = ValidatorBuilder
.create()
.with(new SetterMustExistRule())
.with(new GetterMustExistRule())
.with(new SetterTester())
.with(new GetterTester())
.build();
validator.validate(pojoclass);
}
}