我有很大的麻烦RSPEC的控制器API测试。现在,我使用的是中间件的认证解决方案(监狱长),当我运行规范,代理加由中间件是不存在的,并且所有的认证测试投掷NilPointerExceptions所有的地方。

看来RSPEC不加入中间件上的目的最终应用程序,我想知道是否有办法猴子补丁RSPEC,以使该走了。

我已经测试了黄瓜整个事情,然而,这是一个旧的认证版本一个重构并且存在取决于验证逻辑为了工作几个控制器测试。

预先感谢。

有帮助吗?

解决方案

这似乎为Rails 2.X是不是真的使用控制器上的呼叫机架RSPEC控制器API,所以这是不可能的事情。但是,有一个(非成熟的)解决方案由大卫赫利姆斯基指出。我把他给我的RSPEC用户邮件列表上的答案。

  

控制器规格不通过架进去梁2,所以不是真的。

     

有集成的规格,其涡卷轨道集成测试API   所以你可以做任何你可以在轨集成测试做。只是   移动文件到规范/集成,从转换的要求   “得到:指数”为“得到‘路径/到/指数’”,你应该非常   好去。

     

让我们知道如何工作了。

     

干杯,   大卫

我结束了嘲讽的ApplicationController上的身份验证逻辑方法做虚拟的东西,以便使我的规格运行,我有建议指出,由大卫这样做过,所以我不知道这是否工作。无论哪种方式,我希望它帮上相同的情况下任何其他开发商。

其他提示

这后一个相关的问题可能会提供一些线索,并最终导致在一个RSpec配置中指定中间件组件的解决方案(我希望!)

的https:// rspec的.lighthouseapp.com /项目/ 5645 /票/ 963-请求是比零#票证963-14

这并不与特定Rails2问题有所帮助,但此查询想出了顶部“RSpec的中间件”,所以希望可以帮助别人谁遇到这个问题,因为他们试图在Rails3中β和超越。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top