Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Karate 如何有条件地使空手道测试失败(使用JavaScript)_Karate - Fatal编程技术网

Karate 如何有条件地使空手道测试失败(使用JavaScript)

Karate 如何有条件地使空手道测试失败(使用JavaScript),karate,Karate,如何使用javascript使测试失败 根据文件,这应做到: *如果(true)抛出“自定义消息” 但我得到了一个错误: findAuthDataByUserAndApp.feature:20-javascript评估失败:如果(true)抛出“自定义消息”,则在第9列的第1行输入自定义消息 (我想做的是在可重用特性中基于_arg有条件地匹配响应代码,如) *如果(\uu arg.statusCode!=null&&responseStatus!=\uu arg.statusCode)抛出“自定

如何使用javascript使测试失败

根据文件,这应做到:

*如果(true)抛出“自定义消息”

但我得到了一个错误:

findAuthDataByUserAndApp.feature:20-javascript评估失败:如果(true)抛出“自定义消息”,则在第9列的第1行输入自定义消息

(我想做的是在可重用特性中基于_arg有条件地匹配响应代码,如)

*如果(\uu arg.statusCode!=null&&responseStatus!=\uu arg.statusCode)抛出“自定义消息”


谢谢

您不能,对于坚持在日志中添加一些“额外”消息的用户来说,
抛出
只是一种解决方法。“错误”是它当前的设计方式,测试失败,它只是“看起来”像一个JS错误。我们推荐其他模式

* def failed = true
* if (failed) karate.log('custom message')
* assert !failed
如果您坚持,我可以为
karate.fail(条件、消息)
方法打开一个功能请求,该方法将执行上述操作。IMHO不应该使用它,因为测试应该是理想的


编辑:
karate.fail('message')
将在0.9.6最终版中提供

我找到了一个解决我最初问题的优雅解决方案:

* def expectedStatusCode = req.statusCode || responseStatus
* match responseStatus == expectedStatusCode

(有时解决方案更简单…

ok,但有点令人困惑,因为文档@ivangsa ok中有一个确切的示例,我可以确认我们将在下一个版本中修复和更新文档:恭喜:)这不也会起作用吗:
*match responseStatus==req.statusCode
un my case req.statusCode可能不会得到通知