如何在空手道中实现条件When方法



我想重用一个特性来POST和PUT JSON对象。为了实现这一点,我试图在通话中使用一个条件:

Given param admin = admin
And request role
When method (role.id == null) ? karate.POST : karate.PUT

我得到的错误:

找不到与以下项匹配的步骤定义方法:method(role.id==null(?空手道。帖子:空手道。放置

我查看了文档和示例,并在此处搜索解决方案,但没有找到这个问题的答案。提前感谢您的帮助。

您可以为method步骤使用一个变量:

* def action = 'GET'
* url 'https://httpbin.org/get'
* method action

除此之外,我没有任何建议。我强烈建议你不要做这种";重复使用";因为它导致了不可读和不可维护的测试。请阅读一遍:https://stackoverflow.com/a/54126724/143475