我正在寻找一种解决方案,以在空手道中动态声明json响应,并针对每个测试用例以不同的方式维护数据。以下是示例响应:
[{
"id": "Level 1 id",
"name": "Name 1",
"description": [{
"locale": "locale 1",
"description": "description 1"
},
{
"locale": "locale2",
"description": "description2"
}
],
"type": "type1",
"Value": 100.0,
"ObjectType": "test123",
"Object": [{
"id": "1",
"groupName": "OBJECT1",
"filterCriteria": "filter1",
"TypeMethod": "method1",
"nGroup": "AND1",
"criteria": [{
"name": "multiple objects but no arrays"
},
{
"name": "multiple objects but no arrays"
},
{
"name": "multiple objects but no arrays"
}
]
},
{
"id": "2",
"groupName": "OBJECT2",
"filterCriteria": "filter2",
"TypeMethod": "method2",
"nGroup": "AND2",
"criteria": [{
"name": "multiple objects here but no arrays"
},
{
"name": "multiple objects here but no arrays"
},
{
"name": "multiple objects here but no arrays"
},
{
"id": "3",
"groupName": "OBJECT3",
"filterCriteria": "filter3",
"TypeMethod": "method3",
"nGroup": "AND3",
"criteria": [{
"name": "multiple objects but no arrays"
},
{
"name": "multiple objects but no arrays"
},
{
"name": "multiple objects but no arrays"
}
]
}
]
}
]
}]
我想声明id,名称,描述和Object数组,其值根据不同的id改变。我知道架构方法,但是我需要声明特定的值。我还尝试通过为每个测试用例保留json文件来尝试匹配功能,但这在不同的测试环境中很难维护。有人可以帮助我提出最好的断言方法,以及如何维护测试数据。
不做。
这是我在观察到一些团队空手道出现问题后的建议。这些团队通常来自编程或Java背景,并期望测试用例也必须显示“重用”并为“ DRY”。
有关当您尝试进行过多重用并将多个测试流合并到一个“路径”中时发生的情况的示例,请参见堆栈溢出上的另一个答案:https://stackoverflow.com/a/54126724/143475
也就是说,您可以拥有一个JSON文件,然后使用set
关键字或set
替换不同情况下的某些部分。请花一些时间阅读链接的文档和示例。它将回答您所有的问题。然后在Stack Overflow上问一些特定的问题,而不是像您在这里所说的那样“笼统”的问题。