2

我是 Ruby on Rails 的新手,我正在关注 Michael Hartl 的 Ruby on Rails 教程。我在测试驱动开发的第 3 章。当我运行命令时

rails 生成 integration_test static_pages

它什么也不做。没有错误,也没有创建规范文件。我已经使用 railsinstaller 安装了 rails。

接下来做什么?

4

4 回答 4

11

这是一个简单的问题。将 rspec-rails 放入 gemfile 的开发和测试组中:

group :development, :test do
  gem 'rspec-rails'
end

然后捆绑,您将被设置。当您运行 rails g integration_test 时,它现在将生成测试文件。原因是 rspec-generators 仅在 gem 也在开发组中时才暴露(而不是仅在测试组中。)

于 2012-07-29T21:32:19.823 回答
1

我不确定为什么它不为您生成文件。当我尝试它时它起作用了。

只生成一个文件:

require 'test_helper'

class StaticPagesTest < ActionDispatch::IntegrationTest
  # test "the truth" do
  #   assert true
  # end
end

进去test/integration/static_pages_test.rb

于 2012-05-19T08:31:06.897 回答
1

不知道为什么你不会得到任何错误。我必须使用

bundle exec rails generate integration_test static_pages

让它工作。

于 2012-05-24T15:11:25.220 回答
0

我有同样的问题(即没有错误,也没有创建规范文件)并且 EricM 的解决方案对我不起作用。我在 spec/requests/static_pages_spec.rb 中手动创建了以下文件,它似乎有效(我必须在 spec 中创建 requests 目录):

require 'spec_helper'

describe "Static pages" do

  describe "Home page" do

    it "should have the content 'Sample App'" do
      visit '/static_pages/home'
      page.should have_content('Sample App')
    end
  end
end

这与本书清单 3.9 中使用的代码相同:http ://ruby.railstutorial.org/chapters/static-pages#sec:TDD

于 2012-06-03T13:06:44.023 回答