gpt4 book ai didi

ruby-on-rails - RSpec:功能和请求规范之间有什么区别?

转载 作者:行者123 更新时间:2023-12-03 04:40:25 25 4
gpt4 key购买 nike

Rspec 的 feature specs 之间的概念差异是什么?和 request specs

来自功能规范文档:

Feature specs are high-level tests meant to exercise slices of functionality through an application. They should drive the application only via its external interface, usually web pages.

对于请求规范:

Request specs provide a thin wrapper around Rails' integration tests, and are designed to drive behavior through the full stack, including routing (provided by Rails) and without stubbing (that's up to you). With request specs, you can:

  • specify a single request
  • specify multiple requests across multiple controllers
  • specify multiple requests across multiple sessions

我知道功能规范使用 Capybara并且要求规范没有。但这几乎不值得不同的概念。

最佳答案

概念上的区别在于,您通常正在测试用户故事,并且所有交互都应通过用户界面驱动。这就是 Capybara 的用武之地。请求规范仍在测试应用程序的行为,并且不具有验收测试所具有的可读性。因此,改进了验收测试的语法。

技术差异包括请求规范包含 Rails 集成测试,而功能规范则不然。这意味着对于请求规范,您可以使用 get、post、put、delete 和 assert 方法来响应响应。根据功能规范,您应该通过浏览器驱动所有交互,并使用诸如访问和断言页面之类的方法。

我建议阅读 github 上 rspec-rails 源代码中的 feature_spec.feature。

关于ruby-on-rails - RSpec:功能和请求规范之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15173946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com