Rails 3.2 エンジンのテストが非常に困難です。
私は次のことを行います:
# generate the engine
rails plugin new myengine --mountable
cd myengine
# generate user resource
rails generate scaffold user name email password_digest
# try to run rake test from myengine root folder
rake test
=> NoMethodError: undefined method `users' for #<myengine::UsersControllerTest>
だから私はこれを試します:
cd test/dummy
rake myengine:install:migrations
rake db:migrate db:test:prepare
rake test # from within test/dummy
=> # nothing happens, no output
エンジンのルート フォルダに戻る
cd ../..
rake test
=> NoMethodError: undefined method `users' for #<myengine::UsersControllerTest>
未定義のメソッドは、UsersContrllerTest の上部にある次の行を参照していると思われます。
setup do
@user = users(:one)
end
私はフィクスチャを持っています。それらは足場の残りの部分と一緒に生成されました。コードをいじっていません。上記の手順を実行しただけです。