-1

rails 3.2/minitest プロジェクトで「skip」の最初の呼び出しで未定義のエラーが発生します。

require "test_helper"

describe "Test Integration Test" do
  describe "area1" do
    it "must do X" do
      assert true
    end
    it "must do Y" do
      assert true
    end
  end
end

これは問題なく動作しますが、Y をスキップするように変更すると...

    it "must do Y" do
      skip "need to rewrite"
      assert true
    end

...エラー:

$ rake test:integration
Run options: --seed 49388

.E

Finished tests in 2.109235s, 6.6375 tests/s, 12.8008 assertions/s.
# Running tests:

  1) Error:
test_0003_must_do_y(Test Integration Test::area1):
NoMethodError: undefined method `split' for nil:NilClass
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/testing/setup_and_teardown.rb:35:in `block in run'
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:425:in `_run__858522010476008514__setup__95624718422814153__callbacks'
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in `__run_callback'
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:385:in `_run_setup_callbacks'
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:in `run_callbacks'
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/testing/setup_and_teardown.rb:34:in `run'

同様にスキップされた 3 番目のテストを追加すると、最初のスキップでのみエラーが報告されます。

require "test_helper"

describe "Test Integration Test" do
  describe "area1" do
    it "must do X" do
      assert true
    end
    it "must do Y" do
      skip "rewrite me"
      assert true
    end
    it "must do Z" do
      skip "rewrite me"
      assert true
    end
  end
end


$ rake test:integration
Run options: --seed 43718

# Running tests:

ES.

Finished tests in 2.236945s, 6.2585 tests/s, 11.6230 assertions/s.

  1) Error:
test_0003_must_do_z(Test Integration Test::area1):
NoMethodError: undefined method `split' for nil:NilClass
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/testing/setup_and_teardown.rb:35:in `block in run'
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:425:in `_run__2453774402805069296__setup__401473829290905838__callbacks'
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in `__run_callback'
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:385:in `_run_setup_callbacks'
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:in `run_callbacks'
    /Users/drew/.rvm/gems/ruby-1.9.2-p318/gems/activesupport-3.2.3/lib/active_support/testing/setup_and_teardown.rb:34:in `run'

遭遇した最初のスキップが間違っている理由について、誰かが提案できますか? または、おそらく、この問題をどの問題トラッカーに提出すればよいでしょうか?

4

1 に答える 1

0

これをデバッグしたところ、使用している minitest-rg gem からエラーが発生したことがわかりました。他の人がこの問題に遭遇した場合に備えて、フォークでパッチを適用し、メンテナーにプル リクエストを送信しました。

于 2012-06-12T15:43:33.497 に答える