use*_*403 23 ruby tdd bdd rspec ruby-on-rails
当有人通过URL发送查询时,我正在编写一个规范来测试mashup_controller的行为.我需要模拟URL中包含的参数,并且我读到post()方法会这样做,但是当我收到错误时:
1) MashupController simulates query
Failure/Error: post :create
NoMethodError:
undefined method `post' for
#<RSpec::Core::ExampleGroup::Nested_1:0x980bc50>
# ./mashup_controller_rspec.rb:9:in `block (2 levels) in <top (required)>'
Finished in 0.20199 seconds 1 example, 1 failure
Failed examples:
rspec ./mashup_controller_rspec.rb:7 # MashupController simulates query
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
require 'spec_helper'
require 'mashup_controller.rb'
describe MashupController do
it "simulates query" do
post :create
end
end
Run Code Online (Sandbox Code Playgroud)
对不起,如果我没有任何意义.我对rails和rspec很新.任何帮助,将不胜感激.谢谢.
Lev*_*tix 34
如果spec文件不在spec/controllers,则类似get和post不会自动提供方法rspec-rails.
您需要标记您的规范:
describe MyController, type: :controller do
# ...
end
Run Code Online (Sandbox Code Playgroud)
或包括模块:
describe MyController do
include RSpec::Rails::ControllerExampleGroup
# ...
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12251 次 |
| 最近记录: |