【问题标题】:Generate all RSpec spec files from existing controllers, models & views in a Rails app从 Rails 应用程序中的现有控制器、模型和视图生成所有 RSpec 规范文件
【发布时间】:2012-01-11 15:21:23
【问题描述】:

是否有人知道 rake 任务或 RSpec 调用会生成一堆空文件,这些文件与您的应用程序中已经存在的现有控制器、模型、帮助文件和视图相关?

【问题讨论】:

    标签: ruby-on-rails testing rspec tdd


    【解决方案1】:

    您可以使用以下方式针对现有控制器生成一组空的 rspec 测试:

    rails generate rspec:scaffold recipe
    

    您可以通过传递要生成的模型的属性来改进这一点,如下所示:

    rails generate rspec:scaffold recipe title: string slug: string description: text
    

    您仍然需要进行一些手动编辑,但这应该可以帮助您完成大部分工作。

    【讨论】:

      【解决方案2】:

      最好的解决方案是在 environment.rb 中添加挂钩,以便在每次创建模型或控制器时在 rails 应用程序中创建 spec.rb 文件。

      这是代码(使用 RSpec 和 FactoryGirl):

      module RailsApp
      
        class Application < Rails::Application
          config.generators do |g|
            g.test_framework  :rspec, :fixture_replacement => :factory_girl, :views => true, :helper => false
            g.fixture_replacement :factory_girl, :dir => 'spec/factories'
            g.stylesheets     false
            g.javascripts     false
            g.helper          false
          end
      
        end
      end
      

      【讨论】:

      • 如何在现有模型和控制器中运行它?
      • 这实际上并没有回答这个问题。
      【解决方案3】:

      这应该可行:

      1. 通过将rspec-rails gem 添加到您的gemfile gem 'rspec-rails' 中的开发和测试组来安装它
      2. 从您的应用程序内部运行 rspec 生成器rails generate rspec:install
      3. 快速阅读此文档以了解它如何与您的 Rails 应用程序集成RSpec-rails doc

      【讨论】:

      • 我之前已经运行过此评论,它所做的只是创建 .rspec、spec/ 和 spec/spec_helper.rb 文件:(
      • 这根本不能回答问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多