首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Rails中使用Mocha测试form_for路径生成

在Rails中使用Mocha测试form_for路径生成
EN

Stack Overflow用户
提问于 2010-11-02 07:45:18
回答 1查看 418关注 0票数 0

使用资源路由,您可以执行诸如url_for(@apple)之类的操作来获取特定资源“显示”方法的url。然而,在测试中,使用Mocha模拟我的对象时,我在生成指向资源的适当路径时遇到了问题。

例如,考虑url_for如何路由的示例:

代码语言:javascript
复制
@apple.id # => 4
url_for(@apple) #=> domain.com/apples/4

这相当于更详细的:

代码语言:javascript
复制
url_for(:controller => 'apples', :id => 4, :method => :show)

为了测试我的视图,我使用Mocha来模拟我的对象。

代码语言:javascript
复制
Apple.stubs(:color => 'red') # returns a MochaExpectation, rather than an instance of Apple.

所以在我的测试中:

代码语言:javascript
复制
assigns[:apple] = @apple = Apple.stubs(:color => 'red')
url_for(@apple) #=> raises undefined method `mocha_expectation_path'

我怎样才能接近这一点?看起来要么是存根需要返回一个苹果< ActiveRecord::Base,要么是url_for需要了解如何处理mocha_expectation。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-02 18:56:48

您错误地使用了Mocha

如果你想要一个传统mocha对象的实例:

代码语言:javascript
复制
@apple = stub('apple', :colour => 'red')

如果你想在一个真实的对象上存根特定的方法:

代码语言:javascript
复制
@apple = Apple.new
@apple.stubs(:colour => 'red')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4074023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档