在使用Karate时,我们能够对Web服务进行大部分验证,我们能够成功地将Karate与Selenium webdriver集成,并使用java类进行数据库断言。对于DB,我们将结果集作为列表返回,方法是将每一行转换为hashmap,Karate将其作为json数组。因此验证变得简单。我们在QA方面的大部分需求都是通过空手道实现的。
然而,今天我们介绍的时候,对于一个更大的社区,其中一个开发者提出了一个问题。他是JBehave,BDD,jsonpath,java,Web服务等方面的专家。我们也认为他的问题在我们的背景下非常相关。然而,空手道的方法是不同的,它可能根据我们的知识不起作用。
在我们的上下文中,我们需要让BA使用业务术语考虑他们的业务场景来编写BDD,然后QA / Dev可以将这些作为脚本转换。 (我们通常使用黄瓜+硒/放心等方法)。例如,如果我有功能文件和 10个方案,那么业务方面的人员将无法理解在空手道/或其他方面看到步骤的验证细节单词普通的英文文本对他们来说会更加不言自明。我们需要这种方法,因为我们试图从故事层面本身实施流程变更。
你能分享一下你的想法吗?
答案 0 :(得分:13)
简短回答:空手道不适合BDD。
我在这里写了一篇详细的博客文章:Yes, Karate is not true BDD
请仔细阅读,并与将受益的人分享。是的,空手道从黄瓜手中偷走了BDD 语法,但后来采取了不同的方向。
您可以通过Java API在幕后使用Karate作为Cucumber步骤定义。或者,如果您想使用REST-assured, full power to you之类的内容。
我的个人意见是,请不要。你会浪费时间做这件事:
编辑:查看second example here,了解当您使用Cucumber测试简单单元或集成测试时会发生什么。
希望有所帮助:)