从应用程序设计的角度来看,理想情况下,在使用cucumber
时,我们应该在哪里提供RestAPI
的详细信息?即在特征文件或步骤定义文件中?在使用黄瓜时,我们应该在哪里提供RestAPI细节?
1
A
回答
1
黄瓜是一个工具,所有关于您正在使用的业务的人群之间的沟通。
如果你只是在一个项目上工作,那么用商业语言描述特征的需求就会减少(尽管这对使用BDD思维模式起草创意很有用)。
我的建议,保留没有代码,CSS或任何其他事情,可能会抛出一个非专业人员的功能文件。将它们移到步骤定义文件中,并根据非专业人员可以理解的内容描述您正在做的事情。
1
RestAPI
并不是您正在解决的业务问题的真正组成部分。 Rest
不是您的核心功能。这只是使用您正在构建的真实功能的一种技术方式。
因此,我不会在使用Gherkin的功能文件中描述RestAPI。我将这些实现细节隐藏在胶水代码中,连接在Gherkin中编写的例子和被测试的系统。
1
您应该将其存储在step_definitions
文件中。将所有标记为特征文件中的小黄瓜步骤的编码保留在您创建文件的step_definitons
文件夹中。 它总是更好地保留没有代码的功能文件,它们主要是为了更好地理解测试过程和业务场景以及从BDD角度查看时的最佳实践。
如果您的API值经常发生变化,您也可以在黄瓜黄瓜步骤中提及这些值,并将其作为参数传递给step_definitions文件。因此,值中的任何更改都可以在功能文件本身中进行处理,而不是每次都要转到代码中。
在旁注中,您用什么gem
来测试REST API? Airborne?
相关问题
- 1. 我在哪里可以详细了解黄瓜?
- 2. 我应该在哪里放置配置细节? [Python]
- 3. 黄瓜:共享步骤,在哪里放置它们?
- 4. 我应该在哪里使用CSS供应商前缀
- 5. 我应该在哪里使用OnActivityResult?
- 6. 我应该在哪里使用angular.bind?
- 7. 我应该在哪里使用protobuf
- 8. 我应该在哪里使用XSP.endAjaxLoading()?
- 9. 我们应该在哪里使用Template Method - 模式?
- 10. 黄瓜失败的情况下不提供详细信息(Ubuntu)
- 11. 在黄瓜报告中提供请求和响应体
- 12. 我在哪里可以找到如何最好地使用黄瓜标签?
- 13. 黄瓜/ Webrat:提供参数GET请求
- 14. PHP - 我应该在哪里调用ini_set?
- 15. 我应该在哪里调用TDSSessionManager.Instance.AddSessionEvent?
- 16. 在java中,当我们使用函数'FileReader(String fileName)'时,我们应该在哪里保存文件fileName?
- 17. 我应该向Proxy.newProxyInstance(...)提供哪个ClassLoader?
- 18. 我应该在哪里放置在phabricator
- 19. 我应该在哪里放置在FBConnect
- 20. 我应该在哪里把我的UpdatePanel
- 21. 我们应该在哪里使用commit(session),在try还是finally中?
- 22. 我们在哪里使用JAAS
- 23. 如果库使用它们,应该在哪里声明库#defines?
- 24. Rails 3 - Helper,他们应该在哪里使用?
- 25. 我应该在哪里使用模板,我应该在哪里编程生成视图对象?
- 26. 应该在哪里使用System.Collections.Concurrent集合?
- 27. 应该在哪里使用WatiN DomContainer类?
- 28. 应该在哪里使用Rx?
- 29. BizTalk - 部署细节存储在哪里
- 30. 破碎的RSpec和黄瓜测试,不知道在哪里
感谢您的回复。 应该在哪里提供我们测试箱所需的残存数据?在步骤定义或功能文件? 如果RestAPI正在改变,我们是否应该维护一个属性文件,以便代码不会非常频繁地更改? – GaurZilla
我会在步骤定义中保留技术原因所需的任何数据。实际上具有商业意义的数据应该放入场景中。我不会通过添加属性文件来增加更多的复杂性。我会接受对步骤定义的更改。与实现REST API的代码相比,它们会变得很小。 –