Lb2007
2009-Sep-09 12:26 UTC
[Rspec] Using Mocha results in uninitialized constant, using a ''fix'' breaks RSpec output
After installation of Mocha (0.9.7), running "script/spec spec" results in a "`const_missing'': uninitialized constant Test::Unit::TestResult::TestResultFailureSupport (NameError)" error. (As shown here; http://codepad.org/mTqztjwt ) I''m running Ruby 1.8.6 with Rails 2.3.4 on Windows, rspec (-rails) 1.2.8 (1.2.7.1), Test::Unit 2.0.3 As suggested roughly on http://stackoverflow.com/questions/1145318/getting-uninitialized-cons , I''ve added config.gem ''test-unit'', :lib => ''test/unit''" to my environments/test.rb file at the very top. Doing so does resolve the trace being printed, however, no output is generated at all when running "script/spec spec" again. Removing the line brings back the trace, but logically does not resolve the issue. ( Relevant Test::Unit code is shown on http://codepad.org/bg7BlS7F ) What other workarounds could I give a shot? Googling doesnt seem to bring up alternative solutions sadly.
James Mead
2009-Sep-10 08:55 UTC
Re: [Rspec] Using Mocha results in uninitialized constant, using a ''fix'' breaks RSpec output
2009/9/9 Lb2007 <yorixz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:> After installation of Mocha (0.9.7), running "script/spec spec" > results in a "`const_missing'': uninitialized constant > Test::Unit::TestResult::TestResultFailureSupport (NameError)" error. > (As shown here; http://codepad.org/mTqztjwt ) > I''m running Ruby 1.8.6 with Rails 2.3.4 on Windows, rspec (-rails) > 1.2.8 (1.2.7.1), Test::Unit 2.0.3 > > As suggested roughly on http://stackoverflow.com/questions/1145318/getting-uninitialized-cons > , I''ve added config.gem ''test-unit'', :lib => ''test/unit''" to my > environments/test.rb file at the very top. Doing so does resolve the > trace being printed, however, no output is generated at all when > running "script/spec spec" again. Removing the line brings back the > trace, but logically does not resolve the issue. ( Relevant Test::Unit > code is shown on http://codepad.org/bg7BlS7F ) > > What other workarounds could I give a shot? Googling doesnt seem to > bring up alternative solutions sadly.I don''t know anything about the RSpec side of things, but the thing that changed in Mocha >= 0.9.6 was that previously Mocha had itself loaded Test::Unit whereas now it expects you to load Test::Unit yourself before you then load Mocha. How are you loading Mocha? If you are loading it with a config.gem statement after the ''test-unit'' one, then this should be ok and I would guess the problem may lie in the integration with RSpec. Regards, James. ---- http://blog.floehopper.org/
E. Litwin
2009-Oct-01 20:56 UTC
Re: [Rspec] Using Mocha results in uninitialized constant, using a ''fix'' breaks RSpec output
It seems that having the test-unit gem installed causes this problem. On my Linux box, my rspec tests were all working fine for one project. I started testing another project that I had imported from a Windows development environment that referenced the test-unit gem. Installing that gem on my Linux box gave me an error when trying to run my rspec tests. After adding config.gem "test-unit" to test.rb, the tests didn''t fail but didn''t run anymore. The newer application also had the same issues. I uninstalled the test-unit gem from my Linux machine and removed the config.gem requirement from both the old and new applications and everything ran fine again. I also did this on my Windows machine and everything started running as expected. Eric On Sep 10, 1:55 am, James Mead <jamesmea...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> 2009/9/9 Lb2007 <yor...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>: > > > > > After installation of Mocha (0.9.7), running "script/spec spec" > > results in a "`const_missing'': uninitialized constant > > Test::Unit::TestResult::TestResultFailureSupport (NameError)" error. > > (As shown here;http://codepad.org/mTqztjwt) > > I''m running Ruby 1.8.6 with Rails 2.3.4 on Windows, rspec (-rails) > > 1.2.8 (1.2.7.1), Test::Unit 2.0.3 > > > As suggested roughly onhttp://stackoverflow.com/questions/1145318/getting-uninitialized-cons > > , I''ve added config.gem ''test-unit'', :lib => ''test/unit''" to my > > environments/test.rb file at the very top. Doing so does resolve the > > trace being printed, however, no output is generated at all when > > running "script/spec spec" again. Removing the line brings back the > > trace, but logically does not resolve the issue. ( Relevant Test::Unit > > code is shown onhttp://codepad.org/bg7BlS7F) > > > What other workarounds could I give a shot? Googling doesnt seem to > > bring up alternative solutions sadly. > > I don''t know anything about the RSpec side of things, but the thing > that changed in Mocha >= 0.9.6 was that previously Mocha had itself > loaded Test::Unit whereas now it expects you to load Test::Unit > yourself before you then load Mocha. > > How are you loading Mocha? If you are loading it with a config.gem > statement after the ''test-unit'' one, then this should be ok and I > would guess the problem may lie in the integration with RSpec. > > Regards, James. > ----http://blog.floehopper.org/
James Mead
2009-Oct-02 14:34 UTC
Re: [Rspec] Using Mocha results in uninitialized constant, using a ''fix'' breaks RSpec output
2009/10/1 E. Litwin <elitwin-ur4TIblo6goN+BqQ9rBEUg@public.gmane.org>:> It seems that having the test-unit gem installed causes this problem. > > On my Linux box, my rspec tests were all working fine for one project. > I started testing another project that I had imported from a Windows > development environment that referenced the test-unit gem. > > Installing that gem on my Linux box gave me an error when trying to > run my rspec tests. After adding config.gem "test-unit" to test.rb, > the tests didn''t fail but didn''t run anymore. The newer application > also had the same issues. > > I uninstalled the test-unit gem from my Linux machine and removed the > config.gem requirement from both the old and new applications and > everything ran fine again. > I also did this on my Windows machine and everything started running > as expected.I''m glad you''ve solved your problem. However, it sounds like there might still be a problem with some combination of Mocha, Test::Unit and RSpec (& RSpec on rails?). It''d be great if you could create a ticket on Lighthouse [1] with steps to reproduce the problem e.g. in a Rails app built from scratch. Regards, James Mead.