2013-05-28 67 views
0

我想测试我的葡萄:: API和集成测试中specs/requests发送数据

我只使用RSpec的,没有水豚或任何东西。

我只是想在我整合规范后的数据,我不断收到undefined method 'to_sym'

这是我迄今为止

before do 
     post "/v1/users", { :user => { 
     :username => "testuser", :password => "pass", :password_confirmation => "pass" } 
     }.to_xml, @api_key.merge({'HTTP_CONTENT_TYPE' => 'application/xml'}) 
    end 

@api_key merely持有HTTP_AUTHORIZATION

上午什么我在这里做错了吗?更新葡萄的最新版本,以解决这个问题( -

grape (0.2.1.1) lib/grape/middleware/base.rb:74:in `content_type_for' 
grape (0.2.1.1) lib/grape/middleware/formatter.rb:29:in `before' 
grape (0.2.1.1) lib/grape/middleware/base.rb:24:in `call!' 
grape (0.2.1.1) lib/grape/middleware/base.rb:19:in `call' 
grape (0.2.1.1) lib/grape/middleware/base.rb:25:in `call!' 
grape (0.2.1.1) lib/grape/middleware/base.rb:19:in `call' 
grape (0.2.1.1) lib/grape/middleware/error.rb:44:in `block in call!' 
grape (0.2.1.1) lib/grape/middleware/error.rb:43:in `catch' 
grape (0.2.1.1) lib/grape/middleware/error.rb:43:in `call!' 
grape (0.2.1.1) lib/grape/middleware/base.rb:19:in `call' 
rack (1.4.5) lib/rack/head.rb:9:in `call' 
rack (1.4.5) lib/rack/builder.rb:134:in `call' 
grape (0.2.1.1) lib/grape/endpoint.rb:113:in `call!' 
grape (0.2.1.1) lib/grape/endpoint.rb:103:in `call' 
rack-mount (0.8.3) lib/rack/mount/route_set.rb:152:in `block in call' 
rack-mount (0.8.3) lib/rack/mount/code_generation.rb:96:in `block in recognize' 
rack-mount (0.8.3) lib/rack/mount/code_generation.rb:68:in `optimized_each' 
rack-mount (0.8.3) lib/rack/mount/code_generation.rb:95:in `recognize' 
rack-mount (0.8.3) lib/rack/mount/route_set.rb:141:in `call' 
grape (0.2.1.1) lib/grape/api.rb:404:in `call' 
grape (0.2.1.1) lib/grape/api.rb:51:in `call!' 
grape (0.2.1.1) lib/grape/api.rb:47:in `call' 
+2

你可以发布一个堆栈跟踪的错误? – PinnyM

+0

作为一个附注我怎么能在一个集成测试中显示一个堆栈跟踪?它只会持续输出所有的HTML,而且它很难见 – Tallboy

+1

这似乎是你正在使用的葡萄版本的问题 - 尝试更新到最新版本('0.4.1 '在这个时候)。 – PinnyM

回答

1

这似乎是你正在使用的版本中的错误:我一直在争取与此数小时:(

堆栈跟踪0.4.1

+0

谢谢!好眼睛,我不认为我会抓住那个 – Tallboy