创建空手道动态预期响应并维护测试数据以创建它们

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

我正在寻找一种解决方案,以在空手道中动态声明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文件来尝试匹配功能,但这在不同的测试环境中很难维护。有人可以帮助我提出最好的断言方法,以及如何维护测试数据。

karate
1个回答
0
投票

不做。

这是我在观察到一些团队空手道出现问题后的建议。这些团队通常来自编程或Java背景,并期望测试用例也必须显示“重用”并为“ DRY”。

有关当您尝试进行过多重用并将多个测试流合并到一个“路径”中时发生的情况的示例,请参见堆栈溢出上的另一个答案:https://stackoverflow.com/a/54126724/143475

也就是说,您可以拥有一个JSON文件,然后使用set关键字或set替换不同情况下的某些部分。请花一些时间阅读链接的文档和示例。它将回答您所有的问题。然后在Stack Overflow上问一些特定的问题,而不是像您在这里所说的那样“笼统”的问题。

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