【发布时间】:2016-02-26 07:49:06
【问题描述】:
我的团队正在使用 Cucumber 测试 REST API。这些步骤调用 API,而场景有“假设我使用 JSON YYY 调用 XXX”之类的内容。
在功能文件的后台设置 JSON 变量,然后在不同的场景中操作/使用它们是不是非常糟糕的做法?我们的许多测试都使用相同的 JSON 对象,仅包含 1-3 个已编辑元素。我想为一个场景做这样的事情:
Given I update J element to K value in JSON YYY As <NewJsonVariable>
...
这似乎是一种不好的做法,因为 Cucumber 本身就是一个值得商榷的 REST API 测试工具,但现在我想为该功能添加变量。但是,我有一些功能是 5-10k 行(分成多个文件),我估计我可以将其减少到 500-1k 行,并使其更具可读性。唯一的问题是测试编写器/读取器现在必须将 JSON 变量保留在他们的脑海中,但测试足够短,一次只能有 2 或 3 个变量。
【问题讨论】:
-
请问您使用 Cucumber 有多久了,您使用什么语言来实施您的项目?顺便说一句,征求意见不是 SO 正在寻找的问题。您可以考虑重新措辞,以便有人可以提供客观答案而不是主观答案。
-
@JamesB.Byrne 我已经使用 Cucumber 大约 3 个月了。我们的核心代码是用 Java 编写的,但是我们用 Cucumber 和 Ruby 来测试我们所有的 REST 服务。由于我们没有官方的 QA 团队,所有开发人员都在编写 Cucumber 测试,我想让我们更轻松。
-
您可能希望阅读一些与 BDD 和 Cucumber 相关的文档。你可以看看这个:github.com/cucumber/cucumber/wiki/Cucumber-Backgrounder 这是我对这个主题的看法。基本上,借用一句话:elabs.se/blog/15-you-re-cuking-it-wrong。
-
为了让自己更轻松,您需要退出当前的方法,并考虑 Cucumber 应该为您的项目带来什么价值。生成 1K 行特征文件是一个很好的线索,表明您的团队没有理解重点。
-
有趣的是,一旦你问如何做不可能的事情,人们就会开始质疑你的动机;说你不了解这个工具。
标签: json ruby automation cucumber bdd