brookshi / Hitchhiker

a Restful Api test tool
http://www.hitchhiker-api.com
Other
2.19k stars 402 forks source link

参数化之后如何对应的写test? #199

Open rihkddd opened 6 years ago

rihkddd commented 6 years ago

Hitchhiker提供了一个参数化的功能,非常方便的实现在一个接口中覆盖多种case。 但是实际中,每种case的接口可能各不相同,如何针对每个case对应的写test呢?

rihkddd commented 6 years ago

实际上,Hitchhiker已经考虑了这群情况,并提供了一定的支持:Parameters部分,有一个复制按钮,复制出来的实际是参数的各种组合,同时也是js中的条件,对应的test是if(条件) {验证}。 如复制出来的一条如下: "{{a}}"=="a1"&&"{{b}}"=="b1"&&"{{c}}"=="1"&&"{{d}}"=="true" 那么添加对应的test,可以这么写: if ("{{a}}"=="a1"&&"{{b}}"=="b1"&&"{{c}}"=="1"&&"{{d}}"=="true") { tests["value is correct"] = responseObj.error_code === 0; }

补充另外一种做法: 可以在参数化位置加入test相关的变量,比如error_code, test部分不用if分各种条件,引入变量: tests["value is correct"] = responseObj.error_code === parseInt(”{{error_code}}“); 注意数据类型。

rihkddd commented 6 years ago

另外,提一些优化建议: 复制按钮生成的代码直接带上if,tests等。

brookshi commented 6 years ago

谢谢写说明,优化会考虑加上。 其实文档大家都可以改的,我有时文档没写那么细,非常欢迎提PR更新文档。