ruby-on-rails - 我应该测试 gem 的功能吗?

标签 ruby-on-rails ruby testing rubygems tdd

我正在 Ruby on Rails 项目上使用 devise gem,我想知道是否应该为它编写测试,或者只是假设所有第三方代码都经过了自己的正确测试。

如果我编写测试,我应该只进行集成测试还是添加一些 Controller 和模型测试是否合理?

最佳答案

通常假设第三方代码始终经过测试。

例如,如果您使用 ActiveRecord 创建 Rails 模型,则测试该调用是没有意义的

Model.create!(foo: 'bar')

创建一条属性foo等于bar的记录。否则,您的 Rails 应用程序最终将有大量重复的测试。

但是,除了您自己的代码的规范之外,测试您的代码与第三方库的集成是一个好习惯。

请注意,对于“集成”这个词,我并不严格指 Rails 使用集成测试的方式。例如,如果您创建一个自定义命名范围并编写一个测试来创建一些记录并测试命名范围是否仅返回预期的记录,严格来说这实际上是一个集成测试(尽管它在单元测试中被定义为单元测试) Rails 项目的文件夹)。

关于ruby-on-rails - 我应该测试 gem 的功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20636477/

相关文章:

testing - 测试 golang 的 Web 应用程序查询参数的最佳实践

ruby-on-rails - rails : Form Select From Array/List Instance Variable

javascript - 如何使用 Rails 动态加载 jQuery?

ruby-on-rails - 单一职责原则——何时停止将代码提取到单独的类中

ruby-on-rails - 无法安装 gems(使用 rvm)没有权限

ruby-on-rails - merge_pdf 不合并 pdf

rubyzip Zip::ZipFile.open_buffer 需要一个 String 类或 IO 类的参数

Ubuntu 上的 Ruby 安装真的一团糟

java - 结合Java和xml spring配置进行测试

javascript - Jasmine 添加到 promise