ruby-on-rails - 第三方库的单元测试

标签 ruby-on-rails

我正在处理我的第一个真实世界的 Rails 项目。到目前为止,我主要是混搭来自 3rd 方库的功能。那里有很多很棒的东西,这很棒。

我想知道围绕这些库编写单元测试是否必要/有用。比如我刚刚集成了friendly_id围绕我的一个模型。除了安装 gem 并将其添加为项目依赖项之外,此集成的范围还包括:

has_friendly_id :name

它成功了,我几乎不认为这是“我写的代码”。那么我应该通过测试编写什么?

我的问题有两个警告:

  1. 我假设我所有的第 3 方库都有自己的适当测试——因此直接针对这些库编写新的单元测试看起来像是重复代码。 (如果我不得不使用一个测试不佳的库,那么我会毫不犹豫地为它编写测试。)
  2. 在缺陷驱动测试下,我肯定会在遇到问题时立即编写测试。如果测试发现了库中的错误,那么我可能会将测试提交给维护者。

但除此之外……测试第 3 方代码还有很多意义吗?

最佳答案

永远不要相信第三方库。我总是为第三方库编写一组我称之为“健全性检查”的测试,但我只将它应用于一个模型/ Controller /任何东西。因此,例如,如果我使用 acts_as_paranoid gem(它使数据库记录看起来已删除但实际上并未删除),我将为仅一个使用该扩展的模型编写一组测试,并假设它适用于其他人。这让我在晚上 sleep 时知道我可以在新版本发布时更新 gem,甚至使用“边缘”版本,并且预期的功能将是可靠的。

关于ruby-on-rails - 第三方库的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1655970/

相关文章:

ruby-on-rails - 如何在 RoR 中为模型添加额外的临时参数?

ruby-on-rails - 使用 Mongo 运行 'bootstrap:themed' 时出现 Twitter Bootstrap 错误

ruby-on-rails - ruby rails : Custom getter or custom helper

ruby-on-rails - rails 3 : instance variable not available after redirection

ruby-on-rails - Rails 中的永久变量

ruby-on-rails - Flash 消息的 Rspec 测试

ruby-on-rails - Rails 登陆页面路由和设计

ruby-on-rails - 在热切加载关联上指定条件后无法获取对象

ruby-on-rails - => 运算符与 = 运算符

ruby-on-rails - rails : How to store date in "Chennai" Timezone in the database