capybara:post,在将请求名称的目录更改为function时获取方法不起作用
升级到Capybara的最新版本后,我的所有访问方法都停止了工作,所以我按照一些人提出的解决方案将请求spec目录重命名为“features”。 现在我的访问方法再次起作用,但请求规范中的任何get或post方法都会导致此错误:
undefined method `get' for #
这是触发错误的代码:
describe "getting posts" do before { get(forum_posts_path) } it "should respond with a 200" do response.response_code.should == 200 end end
对此有何解决方法?
您不要将spec / requests目录重命名为spec / features :您同时拥有:
- 使用Capybara DSL(
visit
等)并且通常对page
断言的测试在spec / features中进行 。 - 使用机架测试DSL(
get
等)并且通常断言response
在规范/请求中进行
有关详细信息,请参阅此StackOverflow答案 ,特别是那里的外部链接。