我是 Ruby on Rails 的新手,我正在关注 Michael Hartl 的 Ruby on Rails 教程。我在测试驱动开发的第 3 章。当我运行命令时
rails 生成 integration_test static_pages
它什么也不做。没有错误,也没有创建规范文件。我已经使用 railsinstaller 安装了 rails。
接下来做什么?
我是 Ruby on Rails 的新手,我正在关注 Michael Hartl 的 Ruby on Rails 教程。我在测试驱动开发的第 3 章。当我运行命令时
rails 生成 integration_test static_pages
它什么也不做。没有错误,也没有创建规范文件。我已经使用 railsinstaller 安装了 rails。
接下来做什么?
这是一个简单的问题。将 rspec-rails 放入 gemfile 的开发和测试组中:
group :development, :test do
gem 'rspec-rails'
end
然后捆绑,您将被设置。当您运行 rails g integration_test 时,它现在将生成测试文件。原因是 rspec-generators 仅在 gem 也在开发组中时才暴露(而不是仅在测试组中。)
我不确定为什么它不为您生成文件。当我尝试它时它起作用了。
只生成一个文件:
require 'test_helper'
class StaticPagesTest < ActionDispatch::IntegrationTest
# test "the truth" do
# assert true
# end
end
进去test/integration/static_pages_test.rb
不知道为什么你不会得到任何错误。我必须使用
bundle exec rails generate integration_test static_pages
让它工作。
我有同样的问题(即没有错误,也没有创建规范文件)并且 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