0

rspec gem の IronRuby インストールには、自動化された be_* メソッド ヘルパーがないようです。たとえば、次のコードは未定義のメソッド エラーを生成します。

require 'rubygems'
require 'rspec'

x = 7
x.should == 7 # works
x.nonzero?.should == 7 #works
x.should be_nonzero # undefined method `be_nonzero' for main:Object

igem を使用して rspec gem をインストールしました。インストールされているgemのリストは次のとおりです。

bewildr (0.1.14)
builder (3.0.0)
cucumber (0.6.3)
diff-lcs (1.1.3)
iron-term-ansicolor (0.0.3)
json_pure (1.7.3)
polyglot (0.3.3)
rspec (2.11.0)
rspec-core (2.11.1)
rspec-expectations (2.11.1)
rspec-mocks (2.11.1)
term-ansicolor (1.0.7)
treetop (1.4.10)

ここで何が欠けているのか分かりますか?

4

2 に答える 2

2

itグローバル名前空間の汚染を避けるために、RSpec マッチャーは一般にブロック内でのみ利用可能です。別の Ruby 実装でコードを実行してみましたか? 同じエラーが発生します。

于 2012-07-23T16:52:59.817 に答える
0

私は同じ問題を抱えていましたが、あなたの投稿は私にいくつかの研究をするように促しました。ここで解決策を見つけました: https://github.com/cucumber/cucumber/wiki/RSpec-Expectations 要するに、「features\support\env.rb」にこれを追加しました:

require 'rspec/expectations'
World(RSpec::Matchers)
于 2012-08-15T11:45:05.530 に答える