0

RSpec を使用して単体テストを作成しました。

app.rb には次のものがあります。

module AppModule
  class App
    def get_item
      str = self.get_string
      puts "in get_item - #{str}"
    end

    def get_string
      puts "hello, world"
    end
  end
end

app_test.rb には次のものがあります。

require 'test_helper'
require 'env'

describe App do
  before :each do
    @var = App.new
  end

  describe "firsttest" do
    it "should print string" do
      @var.get_item
    end
  end
end

私が見つけたのは、 get_item が正しく呼び出されていることです。しかし、get_string に到達すると、エラーが発生します。

#App:0x2eaqc4600 の未定義メソッド get_string

ありがとう。

4

1 に答える 1

0

名前空間の問題のようです。あなたの環境についてはわかりませんが、 @var が ::App だけでなく AppModule::App のインスタンスであることは確かですか?

于 2012-08-13T23:32:33.057 に答える