假设我书写了很多测试用例,测试用例中都有:require 'test/unit' 后来我想把很多这样的测试用例组织在一起运行,我使用了两个require: require 'test/unit' require 'test/unit/ui/console/testrunner' 于是我运行如下用例集合: include Test::Unit::UI::Console testcases = [TC_AddPeople] testcases.each{|testcase| TestRunner.run(testcase)} 我得到的错误提示如下: Loaded suite TC_AddPeople uninitialized constant Test::Unit::TestCase::STARTED_OBJECT D:/Ruby193New/lib/ruby/gems/1.9.1/gems/test-unit-2.5.5/lib/test/unit/ui/console/testrunner.rb:80:in `attach_to_mediator' D:/Ruby193New/lib/ruby/gems/1.9.1/gems/test-unit-2.5.5/lib/test/unit/ui/testrunner.rb:23:in `start' D:/Ruby193New/lib/ruby/gems/1.9.1/gems/test-unit-2.5.5/lib/test/unit/ui/testrunnerutilities.rb:24:in `run' 在google,baidu里面,都没能搜索出这个问题的解决方案 这应该是test/unit的一个bug,解决方案就是: 在不需要用require 'test/unit'的地方,尽量不要用require ‘test/unit' 去掉测试用例集合中的require 'test/unit'即可。