3

生成规范时:

rails g controller Home index

使用旧的 object.should 语法生成规范

require 'spec_helper'

describe HomeController do   
  describe "GET 'index'" do
    it "returns http success" do
      get 'index'
      response.should be_success
    end
  end  
end

是否可以将生成器配置为使用期望语法?

期望的输出:

require 'spec_helper'

describe HomeController do

  describe "GET 'index'" do
    it "returns http success" do
      get 'index'
      expect(response).to be_success
    end
  end

end

在 config/application.rb 中:

config.generators do |g|
  g.test_framework :rspec, fixture: true
  g.fixture_replacement :factory_girl, dir: 'spec/factories'
  g.view_specs false
  g.stylesheets = false
  g.javascripts = false
end
4

2 回答 2

3

是的。我还没有为我的控制器完成它,但我已经为模型完成了它。应该是同一个过程。对于我lib/templates/rspec/model/model_spec.rb使用以下内容创建的模型:

require 'spec_helper'

describe <%= class_name %> do

  let(:<%= singular_name %>) { FactoryGirl.create(:<%= singular_name %>) }

  it "should be valid from the factory" do
    expect(<%= singular_name %>).to be_valid
  end

end

如果您这样做,请发布您的解决方案。它也困扰着我,所以不介意拿你的版本:-)

于 2013-10-26T16:38:59.427 回答
0

在 3.0.0.rc1 版本中可用。gem 'rspec', '~> 3.0.0.rc1'

于 2014-05-19T21:42:03.837 回答