作为初学者,我正在关注迈克尔哈特的红宝石第2版教程!
当我使用集成测试模块
运行命令行时rspec test/integration/static_pages_test.rb
它没有显示出Hartl的内容。相反,它显示了这一点:
/Users/Name/rails_testprojects/protego/test/integration/static_pages_test.rb:1:in `require': no such file to load -- test_helper (LoadError)
from /Users/Name/rails_testprojects/protego/test/integration/static_pages_test.rb:1:in `<top (required)>'
from /Users/Name/.rvm/gems/ruby-1.9.2-p320@twitclone/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load'
from /Users/Name/.rvm/gems/ruby-1.9.2-p320@twitclone/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `block in load_spec_files'
from /Users/Name/.rvm/gems/ruby-1.9.2-p320@twitclone/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `map'
from /Users/Name/.rvm/gems/ruby-1.9.2-p320@twitclone/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load_spec_files'
from /Users/Name/.rvm/gems/ruby-1.9.2-p320@twitclone/gems/rspec-core-2.11.1/lib/rspec/core/command_line.rb:22:in `run'
from /Users/Name/.rvm/gems/ruby-1.9.2-p320@twitclone/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:69:in `run'
from /Users/Name/.rvm/gems/ruby-1.9.2-p320@twitclone/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:8:in `block in autorun'
注意:在Hartl的教程中,集成测试位于不同的文件夹中!
bundle exec rspec spec/requests/static_pages_spec.rb
有人可以解释一下发生了什么吗?我是一个初学者,刚刚开始学习他的教程!
答案 0 :(得分:2)
你说你正在关注Michael Hartl's Rails Tutorial book,但你真的没有关注它;至少不如要求严格; - )
Rails教程书使用RSpec作为首选测试框架。在rspec中,所有测试文件都在spec
文件夹下,并被称为specs
。
Rails by default附带Test::Unit测试框架,并将文件放在test
文件夹下。
你混合他们两个并且感到困惑。
我建议你坚持使用Rails教程书中的内容,并严格按照那里的说明充分利用你在学习rails的时间。