我使用 Karate 和 RestAssured 一段时间了。当然,这两种工具都有优点和缺点。现在我有一个 RestAssured 项目,其中有请求和响应对象以及 POJO。我的请求包装我的端点并将我的 POJO 发送到这些端点。我在抽象层中完成所有标题等配置。如果我需要覆盖它们,我会在测试期间覆盖它们。如果没有,我需要两行代码来触发端点。
我处理 edpoint 的快乐路径和消极路径的方法是,在每次测试之前使用构造函数中的新值初始化 POJO。然后我在测试范围中覆盖我想要的值。例如,如果我想测试密码字段的负大小写,我在测试过程中将此字段设置为空字符串。但其他字段在测试之前已经设置为一些随机的东西。
但我不知道如何用空手道实现这一点。
Karate 允许我创建请求正文的 JSON 表示形式并定义参数,如下例所示。
{
"firstName": "<name>",
"lastName": "<lastName>",
"email": "<email>",
"role": <role>
}
Run Code Online (Sandbox Code Playgroud)
然后在每次测试中我都必须用一些数据填充所有字段。
|token |value|
|name |'canberk'|
|lastName |''|
|email |'canberk@blbabla.com'|
|role |'1'|
Run Code Online (Sandbox Code Playgroud)
和
|token |value|
|name |''|
|lastName |'akduygu'|
|email |'canberk@blbabla.com'|
|role |'1'|
Run Code Online (Sandbox Code Playgroud)
就这样继续下去。
4 个字段的 JSON 主体没问题,但是当主体开始拥有超过 20 个字段时,为每个测试初始化每个字段就变得很痛苦。
空手道是否有办法通过我需要提出解决方案的预定义步骤来解决这个问题?