Rspec视图测试不会呈现更改

我正在使用rspec测试我的rails 3.2应用程序中的视图。

我已经为我的视图编写了测试以包含一些额外的输入字段,并且它们正确地失败了。 但是,在添加所需的输入字段后,测试仍然以相同的方式失败。 他们在终端输出表格,就好像我没有在视图中改变任何东西。

在浏览器中检查视图时,实际上存在字段,因此测试应该通过。

rspec没有加载最新的观点?

这是一些代码(我将它缩减为两个字段):

it "renders the form to sign up" do rendered.should have_selector("form", action: "/users", method: "post") do |form| form.should have_selector("input#user_email", name: "user[email]", type: "email") form.should have_selector("input#user_city", name: "user[city]", type: "text") end end 

电子邮件输入是我以前的旧输入,它确实识别它。 城市输入是新的,甚至不会出现在终端的视图输出中。

我究竟做错了什么?

哇,这是一个棘手的问题。

我正在使用设计并想测试它的观点。 在我的观察测试中,我说:

 describe "devise/registrations/new" do # code here end 

但是,前几天我切换到作用域视图,并相应地将视图文件夹名称从devise更改为users 。 如果您有不同的用户模型(例如useradmin并且需要不同的视图,则视图范围很好。 您可以通过将现有范围行替换为以下内容来config/initializers/devise.rb的范围视图:

 config.scoped_views = true 

因此,我还必须将我的规范描述更改为

 describe "users/registrations/new" do # change to "users" instead of "devise" # code here end 

由于我没有这样做,它仍然呈现设计的标准视图,当它在我的视图文件夹中找不到任何视图时呈现 – 因此在我的终端中输出源代码,这表明它可以呈现正确的视图,但是缺少更新的代码。