Rspec 中类的未定义方法

发布于 2024-11-30 16:43:46 字数 329 浏览 3 评论 0原文

以下 RSpec 2 测试..

describe "GET new" do
  describe "gets a report form" do
    xhr :get, :new, :post_id => @post
    response.should be_success
  end
end

给出了这个不错的错误:

undefined method xhr for #; (NoMethodError)

知道出了什么问题吗?

The following RSpec 2 test..

describe "GET new" do
  describe "gets a report form" do
    xhr :get, :new, :post_id => @post
    response.should be_success
  end
end

gives this nice error:

undefined method xhr for #<Class:0xb5c72404> (NoMethodError)

Any idea what is wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

网名女生简单气质 2024-12-07 16:43:46

事实证明,您必须在 describe 块中使用 it 语句。然后错误就消失了。如果您没有使用正确数量的 describeit 块,那么 RSpec 会产生各种奇怪的错误。这是正确的代码:

describe "GET new" do
  it "gets a report form" do
    xhr :get, :new, :post_id => @post
    response.should be_success
  end
end

It turns out you have to use an it statement in the describe block. Then the error goes away. If you do not use the right amount of describe and it blocks, then RSpec produces all kinds of weird errors. This is the correct code:

describe "GET new" do
  it "gets a report form" do
    xhr :get, :new, :post_id => @post
    response.should be_success
  end
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文