我想为我的一个控制器编写一个非常基本的功能测试,但问题是它不能识别我的任何路由。他们都通过HTTP在应用程序中工作,并可以在耙路中看到。不能识别任何路由的功能测试
事实上我甚至增加
puts ActionController::Routing::Routes.inspect
,它的错误之前把我的所有路由。
这里的测试:
require 'test_helper'
class UsersControllerTest < ActionController::TestCase
test "should get signup" do
get :new
assert_response :success
assert_not_nil assigns(:users)
end
end
错误:
1) Error:
test_should_get_signup(UsersControllerTest):
ActionController::RoutingError: No route matches {:controller=>"users", :action=>"new"}
/test/functional/users_controller_test.rb:5:in `test_should_get_signup'
1 tests, 0 assertions, 0 failures, 1 errors
rake aborted!
Command failed with status (1): [/Users/projectzebra/.rvm/rubies/ruby-1.8.7...]
(See full trace by running task with --trace)
耙路线:
POST /users(.:format) {:controller=>"users", :action=>"create"}
new_user_en_gb GET /users/new(.:format) {:controller=>"users", :action=>"new"}
什么测试工具是你在用吗?它对我来说没有rspec-ish ...这只是因为我从来没有使用任何超出rspec的任何东西来进行我的单元测试(功能和其他) – jaydel 2011-06-07 13:20:43
也是,完整的跟踪是什么?这可能是真正的错误被整个路由错误的东西掩盖... – jaydel 2011-06-07 13:21:41
它是[测试::单元](http://test-unit.rubyforge.org/),测试框架是标准的一部分Ruby库(Ruby自带)。 – danneu 2011-06-07 15:50:33