【发布时间】:2012-03-26 06:38:19
【问题描述】:
我想用 rspec 测试控制器的私有方法(不是动作)
class FooController < ApplicationController
def some_methods( var )
if var
return 1
else
return 2
end
end
def some_action
var = true
r = some_methods(var)
r
end
end
rspec:
require 'spec_helper'
describe FooController do
describe "GET index" do
it "get get return value from some_methods" do
@controller = TestController.new
r =@controller.instance_eval{ some_action }
r.should eq 2
end
end
这是我的rspec 代码。但是,r 始终为 1,我不知道如何将参数传递给some_action。
如何使用 rspec 方式验证 some_methods 的实际返回值? (例如:r.should be_nil)
引用但不起作用:
【问题讨论】:
-
您尝试了哪些方法,引用的问题对您不起作用怎么办?
-
我尝试为
some_methods的返回值编写测试。引用问题的解决方案无法确定rspec的返回值,例如:r.should be_nil -
所以你写了一些RSpec代码来测试
some_methods的返回值?你能把那个贴出来吗?为什么要专门测试局部变量r的值? -
已更新。谢谢。我正在尝试测试 some_methods 的返回值。
标签: ruby-on-rails rspec