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

How to implement conditional When method in Karate

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

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

我得到的错误:

no step-definition method match found for: method (role.id == null) ? karate.POST : karate.PUT

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

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

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

除此之外我没有其他建议。我强烈建议你不要做这种“re-use”,因为它会导致 un-readable 和 un-maintainable 测试。请读一遍: