0

我在使用 rspec 提供的 let 函数时遇到问题:

在 app/spec/class_spec.rb 中:

require 'spec_helper'
module App
   describe Class do
      let(:instance) {Class.new('param')}

      describe "#method" do
         it "does something" do
            instance.method(...)
            # clever test code
         end
      .
      .
      .
end

我一直在关注 RSpec 书,根据它的示例(通过了!),让我可以访问“描述类”块的其余部分的变量实例。但我得到了错误:

Uninitialized constant App::instance

我也尝试添加此代码无济于事:

before :all do
    instance
end

我究竟做错了什么?

4

1 回答 1

1

代替

module App
   describe Class do

只需使用:

describe App::Class

一切都应该很好提示:相反let(:instance) {Class.new('param')},您可以编写let(:instance) {described_class.new('param')}. 它更聪明。

于 2013-01-09T10:17:43.980 回答