Rails:RSpec控制器测试通过而不执行任何操作,为什么?

时间:2009-07-12 21:47:54

标签: ruby-on-rails rspec

我有以下RSpec示例传递:

describe UsersController  do
  it "should render new template on new action" do
    get :new
    response.should render_template("users/new")
  end
end

问题是我没有在UsersController上实现'new'操作。 谁能告诉我为什么这个测试正在通过? 我是RSpec的新手,所以任何提示都会非常感激!

1 个答案:

答案 0 :(得分:3)

在请求视图存在的操作但操作未定义时,Rails只会呈现视图。因此你的规范(正确)通过了。

除了此规范,您可能还想测试特定实例变量的分配。例如:

it "should assign the found articles for the view" do
  assigns[:article].should == [@article]
end