我们如何在Java的BDD功能文件中将JSON对象的列表作为JSON字符串传递

问题描述 投票:0回答:1

下面是我的功能文件。

方案1:获取全部AppsCount

[当我们请求所有应用程序时,我们将获得4个应用程序,并且应用程序列表以json格式发送:

"[
  { '_id' : 'app1', 'Name' : 'App 1', 'Type' : 1, 'Rules' : [ { '_id' : 'Rule1', 'FilterCriteria' : 8 }, { '_id' : 'Rule2', 'FilterCriteria' : 4 } ], 'Email' : '[email protected]', 'IsSlackEnabled' : false, 'IsEmailEnabled' : true, 'IsSMSEnabled' : false, 'IsPhoneEnabled' : false, 'IsNonProdEnabled' : false, 'CreatedBy' : '[email protected]' },
  { '_id' : 'app2', 'Name' : 'App 2', 'Type' : 2, 'Rules' : [ { '_id' : 'Rule3', 'FilterCriteria' : 8 } ], 'Email' : '[email protected]', 'IsSlackEnabled' : true, 'SlackChannel' : 'testChannel', 'IsEmailEnabled' : false, 'IsSMSEnabled' : false, 'IsPhoneEnabled' : true, 'IsNonProdEnabled' : false, 'CreatedBy' : '[email protected]' },
  { '_id' : 'app3', 'Name' : 'App 3', 'Type' : 3, 'Rules' : [ { '_id' : 'Rule4', 'FilterCriteria' : 7 } ], 'Email' : '[email protected]', 'IsSlackEnabled' : true, 'IsEmailEnabled' : false, 'SlackChannel' : 'testChannel2', 'IsSMSEnabled' : true, 'IsPhoneEnabled' : false, 'IsNonProdEnabled' : false, 'CreatedBy' : '[email protected]' },
  { '_id' : 'app4', 'Name' : 'App 4', 'Type' : 1, 'Rules' : [], 'Email' : '[email protected]', 'IsSlackEnabled' : false, 'IsEmailEnabled' : false, 'IsSMSEnabled' : false, 'IsPhoneEnabled' : true, 'IsNonProdEnabled' : false, 'CreatedBy' : '[email protected]' }
]"

但是这很麻烦,因为我们在编写json字符串时需要双引号

所以我尝试了以下功能文件。

方案2:获取全部AppsCount

[当我们请求所有应用程序时,我们得到4个应用程序,并且应用程序列表以json格式发送:

"[
  { "_id" : "app1", "Name" : "App 1", "Type" : 1, "Rules" : [{ "_id" : "Rule1", "FilterCriteria" : 8 }, { "_id" : "Rule2", "FilterCriteria" : 4 } ], "Email" : "[email protected]", "IsSlackEnabled" : false, "IsEmailEnabled" : true, "IsSMSEnabled" : false, "IsPhoneEnabled" : false, "IsNonProdEnabled" : false, "CreatedBy" : "[email protected]" },
  { "_id" : "app2", "Name" : "App 2", "Type" : 2, "Rules" : [ { "_id" : "Rule3", "FilterCriteria" : 8 } ], "Email" : "[email protected]", "IsSlackEnabled" : true, "SlackChannel" : "testChannel", "IsEmailEnabled" : false, "IsSMSEnabled" : false, "IsPhoneEnabled" : true, "IsNonProdEnabled" : false, "CreatedBy" : "[email protected]" },
  { "_id" : "app3", "Name" : "App 3", "Type" : 3, "Rules" : [ { "_id" : "Rule4", "FilterCriteria" : 7 } ], "Email" : "[email protected]", "IsSlackEnabled" : true, "IsEmailEnabled" : false, "SlackChannel" : "testChannel2", "IsSMSEnabled" : true, "IsPhoneEnabled" : false, "IsNonProdEnabled" : false, "CreatedBy" : "[email protected]" },
  { "_id" : "app4", "Name" : "App 4", "Type" : 1, "Rules" : [], "Email" : "[email protected]", "IsSlackEnabled" : false, "IsEmailEnabled" : false, "IsSMSEnabled" : false, "IsPhoneEnabled" : true, "IsNonProdEnabled" : false, "CreatedBy" : "[email protected]" }
] "

但是在创建步骤定义时,每个字段的值都作为其自变量出现。

我知道

| field1 | field2 | 
| value1 | value2 |

解决方案,但我的数据太大了,想知道是否存在直接传递JSON字符串的方法。

java json spring bdd
1个回答
0
投票

创建文件text.json ..并将json输入放入文件..将此文件放在类路径中。.

在此情况下,IN文件将文件名-text.json ..

在类文件中,stepdef读取了文件名。...在类路径中查找此文件。

使用clasloader加载此文件,并使用objectmapper映射此json。

© www.soinside.com 2019 - 2024. All rights reserved.