Data-Factory 用於根據對象,隨機自動生成初始化信息,避免了手動建立對象的繁瑣,便於測試。java
@DataFactory
註解支持變動日誌
提供線程安全的方法:git
/** * 構建結果 * @param clazz 類型 * @return 構建結果 */ public static <T> T build(final Class<T> clazz) { IData data = getInstance(); return (T) data.build(null, clazz); } /** * 構建結果 * @param context 執行上下文 * @param clazz 類型 * @return 構建結果 */ public static <T> T build(final IContext context, final Class<T> clazz) { IData data = getInstance(); return (T) data.build(context, clazz); }
JDK 1.8+github
Maven 3.0+ 正則表達式
若是是 idea,測試的時候 Enable Annotation Processing
。安全
<dependency> <groupId>com.github.houbb</groupId> <artifactId>data-factory-core</artifactId> <version>0.0.3</version> </dependency>
一個用於演示的普通 java 對象。maven
public class User { private String name; private int age; private Date birthday; private List<String> stringList; //S/F 的枚舉 private StatusEnum statusEnum; private Map<String, String> map; //Getter & Setter }
@Test public void buildBeanBaseTest() throws Exception { User user = DataUtil.build(User.class); System.out.println(user); }
輸出信息以下:ide
User{name='wZ8CJZtK', age=-564106861, birthday=Wed Feb 27 22:14:34 CST 2019, stringList=[Du4iJkQj], statusEnum=S, map={yA5yDqM=Kdzi}}
內容每次都隨機。便於基本的測試數據填充。工具