5

我正在尝试使用 rspec 2.10.0 + capybara 1.1.2 测试我的 rails 应用程序。这是我的测试文件

require 'spec_helper'

    describe AdminPanelController do
      describe "index" do
        it "should have return code 200" do
          visit '/admin'
          page.should have_content "hello"
          #response.status.should be(200)
        end
      end
    end

这是测试结果

 Failure/Error: page.should have_content "hello"
 Capybara::ElementNotFound:
   Unable to find xpath "/html"

我在谷歌上搜索了这个问题,但只找到了 webrat 可能是一个问题的信息,但是我没有安装这个 gem。感谢您的任何建议。

4

1 回答 1

15

测试类型错误。这看起来像一个控制器测试,它使用 get 和 post 等方法进行测试,并且位于 spec/controllers 文件夹中。使用 capybara 的请求规范位于 spec/requests 中。跑去$ rails generate scaffold SomeModel看看他们每个人的样子。

如果您了解上述内容但仍想使用 capybara 进行控制器测试,请修改您的描述块:

describe AdminPanelController, :type => :request do
  ...
end
于 2012-07-17T05:19:25.800 回答