この質問は zu test-unit バージョン 2.5.3 に属します
test-unit バージョン 2.5.4 で解決された問題
多くの匿名の TestCases を使用したテストがあります。test-unit 2.5.0 では動作しましたが、実際のバージョン 2.5.3 ではエラーが発生します。
このテストを実行すると:
gem 'test-unit', ">=2.5.2"
require 'test/unit'
Class.new( Test::Unit::TestCase ) do
def test_add
assert_equal( 2, 1+1)
end
end
テストが実行されず、エラーが発生undefined method sub' for nil:NilClass (NoMethodError)
しますtestrunner.rb:361
(実際の test-unit-gem 2.5.3 を使用します)。
TestCase に名前を付けると、問題はなくなります。
gem 'test-unit'
require 'test/unit'
X = Class.new( Test::Unit::TestCase ) do
def test_add
assert_equal( 2, 1+1)
end
end
私の実際の問題では、多くの TestCases を生成します。だから私は次のような状況があります:
gem 'test-unit'
require 'test/unit'
2.times {
X = Class.new( Test::Unit::TestCase ) do
def test_add
assert_equal( 2, 1+1)
end
end
}
これを実行すると、警告already initialized constant X
とエラーが表示されます:
comparison of Array with Array failed (ArgumentError)
(collector.rb:48:in sort_by')。
私の質問:
- エラーを回避するにはどうすればよいですか?
- または: 動的に割り当てられた定数を使用して TestCases を作成するにはどうすればよいですか?