2012-03-13 36 views
2

嗨,我测试我的应用程序的功能部分,基本上是测试运行,但我得到这些错误,我不知道它是指什么时,我得到以下错误。错误,当测试钢轨函数

AdminControllerTest: 
ERROR should get index (0.13s) 
NoMethodError: undefined method `users' for #<AdminControllerTest:0x007fe9e0119000>  /Users/@@@@@/Dropbox/blind/rack/ruby/1.9.1/gems/actionpack- 3.1.3/lib/action_dispatch/testing/assertions/routing.rb:175:in `method_missing' 


CartsControllerTest: 
ERROR should create cart (0.12s) 
NoMethodError: undefined method `carts' for #<CartsControllerTest:0x007fe9de592b10> 
/Users/@@@@@/Dropbox/blind/rack/ruby/1.9.1/gems/actionpack 
3.1.3/lib/action_dispatch/testing/assertions/routing.rb:175:in `method_missing' 

ERROR should destroy cart (0.17s) 
NoMethodError: undefined method `carts' for #<CartsControllerTest:0x007fe9de3569a0> 
/Users/@@@@@/Dropbox/blind/rack/ruby/1.9.1/gems/actionpack- 3.1.3/lib/action_dispatch/testing/assertions/routing.rb:175:in `method_missing' 

ERROR should get edit (0.12s) 
NoMethodError: undefined method `carts' for #<CartsControllerTest:0x007fe9e10c19d0> 
/Users/@@@@@/Dropbox/blind/rack/ruby/1.9.1/gems/actionpack-3.1.3/lib/action_dispatch/testing/assertions/routing.rb:175:in `method_missing' 

ERROR should get index (0.11s) 
NoMethodError: undefined method `carts' for #<CartsControllerTest:0x007fe9e10604f0> 
/Users/@@@@@/Dropbox/blind/rack/ruby/1.9.1/gems/actionpack-3.1.3/lib/action_dispatch/testing/assertions/routing.rb:175:in `method_missing' 

ERROR should get new (0.11s) 
NoMethodError: undefined method `carts' for #<CartsControllerTest:0x007fe9e1033fe0> 
/Users/@@@@@/Dropbox/blind/rack/ruby/1.9.1/gems/actionpack-3.1.3/lib/action_dispatch/testing/assertions/routing.rb:175:in `method_missing' 

ERROR should show cart (0.11s) 
NoMethodError: undefined method `carts' for #<CartsControllerTest:0x007fe9e10109c8> 
/Users/@@@@@/Dropbox/blind/rack/ruby/1.9.1/gems/actionpack-3.1.3/lib/action_dispatch/testing/assertions/routing.rb:175:in `method_missing' 

ERROR should update cart (0.12s) 
NoMethodError: undefined method `carts' for #<CartsControllerTest:0x007fe9de460558> 
/Users/@@@@@/Dropbox/blind/rack/ruby/1.9.1/gems/actionpack-3.1.3/lib/action_dispatch/testing/assertions/routing.rb:175:in `method_missing' 

车控制器测试 需要 'test_helper'

class CartsControllerTest < ActionController::TestCase 
setup do 
@cart = carts(:one) 
end 

test "should get index" do 
get :index 
assert_response :success 
assert_not_nil assigns(:carts) 
end 

test "should get new" do 
get :new 
assert_response :success 
end 

test "should create cart" do 
assert_difference('Cart.count') do 
post :create, cart: @cart.attributes 
end 

assert_redirected_to cart_path(assigns(:cart)) 
end 

test "should show cart" do 
get :show, id: @cart 
assert_response :success 
end 

test "should get edit" do 
get :edit, id: @cart 
assert_response :success 
end 

什么可能会造成这种情况发生?

+0

发表您的管理员或推车控制器测试。 – James 2012-03-13 15:23:15

回答

-1

检查您是否创建了测试数据库。

+0

我不确定你的意思? – 2012-03-13 13:59:21

+0

我已经设置了固定装置ymls,但当我尝试测试时仍然出现同样的错误。 – 2012-03-15 21:13:23

+0

这个答案措辞不妙。你的意思是“检查你创建了测试数据库”吗? – 2012-04-03 10:14:15

1

看起来像加载灯具时出现问题。它无法弄清楚如何解决setup定义中的carts方法。

你把它们设置在你的test/fixtures/目录中吗?

rails testing guide关于如何正确设置这些信息,但我猜你想是这样的:

test/fixtures/carts.yml

one: 
    name: bork 
    foo_attribute: bar_value 
two: 
    name: other_cart 
    foo_attribute: blah_value 
+0

我现在将看看我的装置并回复您 – 2012-03-13 16:49:30