1818public class FactoryUtil {
1919 /**
2020 * 加载数据
21- * @param path 加载路径
21+ * @param path 加载路径
2222 * @param loadDataName 加载用例类型名称数组
23- * @param maxMap 存储每种类型用例的个数
24- * @param arrayData 存储用例
23+ * @param maxMap 存储每种类型用例的个数
24+ * @param arrayData 存储用例
2525 */
26- public static void load (String path ,String [] loadDataName ,Map <String , Integer > maxMap ,Map <String , ArrayList <MetaData >> arrayData ) {
26+ public static void load (String path , String [] loadDataName , Map <String , Integer > maxMap , Map <String , ArrayList <MetaData >> arrayData ) {
2727 String expectContent = ResourceUtils .loadResourceLine (path );
2828 JSONObject jsonObject = (JSONObject ) JSON .parse (expectContent );
2929 for (String name : loadDataName ) {
30- arrayData .put (name , JsonArrayToMetadataList (jsonObject .getJSONArray (name ), name ,maxMap ));
30+ if (jsonObject .getJSONArray (name ) != null ) {
31+ arrayData .put (name , JsonArrayToMetadataList (jsonObject .getJSONArray (name ), name , maxMap ));
32+ } else {
33+ arrayData .put (name , null );
34+ }
3135 }
3236 }
3337
3438 /**
3539 * 将JsonArray对象转换为List<Metadata> 并将每种类型的个数进行统计赋值
3640 * @param jsonArray 需要转换的对象
3741 * @param type 他是什么类型
38- * @param maxMap 存储每种类型用例的个数
42+ * @param maxMap 存储每种类型用例的个数
3943 * @return ArrayList<MetaData>
4044 */
41- private static ArrayList <MetaData > JsonArrayToMetadataList (JSONArray jsonArray , String type ,Map <String , Integer > maxMap ) {
45+ private static ArrayList <MetaData > JsonArrayToMetadataList (JSONArray jsonArray , String type , Map <String , Integer > maxMap ) {
4246 ArrayList <MetaData > list = new ArrayList <>();
4347 int count = 0 ;
4448 for (Object i : jsonArray ) {
4549 JSONObject jsonObject = (JSONObject ) i ;
46- MetaData metaData = new MetaData (jsonObject .getString ("caseName" ),jsonObject .get ("expect" ),
50+ MetaData metaData = new MetaData (jsonObject .getString ("caseName" ), jsonObject .get ("expect" ),
4751 jsonObject .get ("actual" ),
4852 jsonObject .get ("ret" ),
4953 getOptionObject ((JSONObject ) jsonObject .get ("option" )));
5054 list .add (metaData );
5155 count ++;
5256 }
5357
54- maxMap .put (type ,count );
58+ maxMap .put (type , count );
5559 return list ;
5660 }
5761
@@ -66,15 +70,15 @@ private static JsonComparedOption getOptionObject(JSONObject jsonObject) {
6670 return null ;
6771 JsonComparedOption jsonComparedOption = new JsonComparedOption ();
6872 boolean ignoreOrder = false ;
69- try {
73+ try {
7074 ignoreOrder = jsonObject .getBoolean ("ignoreOrder" ) != null && jsonObject .getBoolean ("ignoreOrder" );
71- }catch (ExceptionInInitializerError e ){
75+ } catch (ExceptionInInitializerError e ) {
7276 e .printStackTrace ();
7377 }
7478 jsonComparedOption .setIgnoreOrder (ignoreOrder );
7579 String mapping = jsonObject .getString ("mapping" );
76- if (mapping != null && !mapping .isEmpty ()){
77- jsonComparedOption .setMapping ((HashMap <String ,String >)JSONObject .parseObject (mapping ,Map .class ) );
80+ if (mapping != null && !mapping .isEmpty ()) {
81+ jsonComparedOption .setMapping ((HashMap <String , String >) JSONObject .parseObject (mapping , Map .class ));
7882 }
7983 jsonComparedOption .setIgnorePath (ArrStringToSet (jsonObject .getString ("ignorePath" )));
8084 jsonComparedOption .setIgnoreKey (ArrStringToSet (jsonObject .getString ("ignoreKey" )));
@@ -86,12 +90,12 @@ private static JsonComparedOption getOptionObject(JSONObject jsonObject) {
8690 * @param stringList json array字符串
8791 * @return HashSet 转化后的set对象
8892 */
89- private static HashSet <String > ArrStringToSet (String stringList ){
90- if (stringList == null || stringList .isEmpty ()){
91- return null ;
92- }
93- List <String > arrayList = JSON .parseArray (stringList ,String .class );
94- return new HashSet <>(arrayList );
95- }
93+ private static HashSet <String > ArrStringToSet (String stringList ) {
94+ if (stringList == null || stringList .isEmpty ()) {
95+ return null ;
96+ }
97+ List <String > arrayList = JSON .parseArray (stringList , String .class );
98+ return new HashSet <>(arrayList );
99+ }
96100
97101}
0 commit comments