ruby-on-rails - 逐行编写匹配类似配置的代码的测试有什么用?

标签 ruby-on-rails unit-testing testing rspec shoulda

我一直想知道编写与代码一一匹配的测试的用处。

举个例子:在Rails中,你可以在routes.rb的一行中定义7条静态路由,使用:

resources :products

BDD/TDD 规定先测试,然后编写代码。为了测试这条线的全部效果,开发人员想出了宏,例如对于应该:http://kconrails.com/2010/01/27/route-testing-with-shoulda-in-ruby-on-rails/

class RoutingTest < ActionController::TestCase
  # simple
  should_map_resources :products
end

我并不是想挑剔编写宏的人,这只是我在 Rails 中看到的一个模式的示例。

我只是想知道它有什么用...最后你只是复制代码,你唯一测试的是Rails 是否有效。您也可以编写一个工具将测试宏转换为实际代码...

当我四处询问时,人们回答我:

"the tests should document your code, so yes it makes sense to write them, even if it's just one line corresponding to one line"

你有什么想法?

最佳答案

对我来说,这是避免犯一些大错误的好习惯。

例如,在合并或编辑后,该资源将被删除。如何知道这一点?

通过此测试,您可以立即看到需要这些资源。如果您想更改或删除它,您需要进行 2 处更改。不仅有一个可能会出错。

关于ruby-on-rails - 逐行编写匹配类似配置的代码的测试有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4958554/

相关文章:

ruby-on-rails - 在 Rails i18n 本地化中显示日期模式字符串

javascript - 是否可以为 css 创建纯命名空间

c# - Always Freeze 使用 AutoFixture、XUnit 和 Moq 进行模拟

android - 如何获取在使用其 SD 卡的真实设备上运行的 android 应用程序的日志?

java - 如何使用 Camunda 指定并行网关中的执行顺序?

unit-testing - 测试部门的职责是什么?

ruby-on-rails - 使用 mongoid-elasticsearch gem 对搜索结果进行排序

ruby-on-rails - Rails 3 和嵌套 jQuery 文件上传模型

unit-testing - 单元测试-实用性 : Should it pass or fail all or most of the time?

javascript - Cypress 测试框架