unit-testing - 构建 rspec 模块的推荐方法?

标签 unit-testing rspec rspec2 jrubyonrails

我有一个 Rails 应用程序,以及 lib 中的代码。我在 RAILS_ROOT 下有 spec 目录。

我应该如何将测试放入spec中?

目前我正在考虑以下几点:

规范/lib

规范/ Controller

规范/型号

此外,我在许多测试中做了一些常见的设置/使用常见的步骤(例如,生成无效用户)。您建议我将在 rspec 测试中执行常见设置/步骤的模块放在哪里?

最佳答案

您建议的目录结构很好。

对于您的帮助程序模块,常见的习惯用法是将它们放在 spec/support 目录中。您可以通过将以下代码放入您的 spec_helper.rb 文件中来自动包含它们:

Dir[File.expand_path('../support/**/*.rb', __FILE__)].each { |f| require f }

您可以直接将代码直接放在 spec_helper.rb 本身中,但这可能会变得困惑,并且可以通过重新生成帮助程序文件来清除它们。

关于unit-testing - 构建 rspec 模块的推荐方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4936926/

相关文章:

c++ - Qt中的单元测试高度依赖(网络依赖)功能

ruby - 是否可以使用 Rspec 为无限循环问题编写规范?,Ruby

ruby-on-rails - spec/rails_helper.rb 与 spec/spec_helper.rb 有何不同?我需要它吗?

ruby-on-rails-3 - 如何使用 Capybara 获取、显示、发布、放入 Controller 测试?

ruby - RSpec Rake 文件,但没有要加载的此类文件 -- rake/tasklib

unit-testing - MSTest 内存不足异常

javascript - 错误 : Unexpected request: GET/src/app/modules/login/resources/en. json 与 karma

ruby-on-rails - 如何在 RSpec 中 stub 错误异常?

ruby - Rspec : expect vs expect with block - what's the difference?

php - Codeception 不会构建在全局配置中配置的模块