I am having following problem while running unit tests.
The test file contains:
require File.dirname(FILE) + ‘/…/test_helper’
class RegionTest < Test::Unit::TestCase
I receive following error when running individual test
(./test/unit/region_test.rb):
./test/unit/region_test.rb: line 1: syntax error near unexpected token (' ./test/unit/region_test.rb: line 1:require File.dirname(FILE) +
‘/…/test_helper’’
If I change these lines to:
require ‘test_helper’
class RegionTest < ActiveSupport::TestCase
I get following errors when running individual test
(./test/unit/region_test.rb):
./test/unit/region_test.rb: line 1: require: command not found
./test/unit/region_test.rb: line 2: ActiveSupport::TestCase: No such
file or directory
./test/unit/region_test.rb: line 8: fixtures: command not found
./test/unit/region_test.rb: line 10: def: command not found
./test/unit/region_test.rb: line 11: region: command not found
./test/unit/region_test.rb: line 12: assert: command not found
./test/unit/region_test.rb: line 13: syntax error near unexpected token (' ./test/unit/region_test.rb: line 13: assert
region.errors.invalid?(:name)’
The rake test runs successfully in both cases.
Also, rake test:test:rcov or rake:test:units:rcov is failing with error
as,
Command failed with status (1): [/usr/bin/ruby
"/home/carlos/mytopics/…]
Rails version- 2.1.0 and 2.1.1 both are giving same problem.
However, following is successful:
/usr/bin/ruby -Ilib:test
“/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb”
“test/unit/region_test.rb”
Any clues?
Phlip wrote:
Carlos S. wrote:
Luv your jams, man!
‘/…/test_helper’’
Prepare to smack your forehead. I get that running this:
$ sh test/unit/merchant_test.rb
test/unit/merchant_test.rb: 1: Syntax error: “(” unexpected
That’s sh, meaning bash, not Ruby. Whatever runs your tests needs an
explicit
‘ruby’ in it. That is the way of things.
Also, rake test:test:rcov or rake:test:units:rcov is failing with error
as,
Command failed with status (1): [/usr/bin/ruby
"/home/carlos/mytopics/…]
Dunno - do you have rcov, whatever that is, installed?
In theory, you should be able to run just one test suite with
ruby test/unit/role_test.rb
However, the Rails 2 generator f—ed that up; no idea why. The
maintainers were
formerly very good at keeping the tests flexible.
But…
Carlos S. wrote:
However doing rake test:units still fails and so does
rake:test:test:rcov or rake test:units:rcov.
I think those rcov things are a test coverage issue. If you use TDD you
should
not need them.
The error with rake test:units is:
rake aborted!
Command failed with status (1): [/usr/bin/ruby -Ilib:test
“/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb”
“test/unit/role_test.rb” “test/unit/attachment_test.rb”
“test/unit/section_test.rb” “test/unit/region_test.rb” "test/uni…]
Did you try rake test:units --trace ? or is this its output?
Try this rake_test_loader.rb thing on each test suite.
In theory, you should be able to run just one test suite with
ruby test/unit/role_test.rb
However, the Rails 2 generator f—ed that up; no idea why. The
maintainers were
formerly very good at keeping the tests flexible.
But…
Carlos S. wrote:
However doing rake test:units still fails and so does
rake:test:test:rcov or rake test:units:rcov.
I think those rcov things are a test coverage issue. If you use TDD you
should
not need them.
The error with rake test:units is:
rake aborted!
Command failed with status (1): [/usr/bin/ruby -Ilib:test
“/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb”
“test/unit/role_test.rb” “test/unit/attachment_test.rb”
“test/unit/section_test.rb” “test/unit/region_test.rb” "test/uni…]
Did you try rake test:units --trace ? or is this its output?
Yeah, this is the output of rake test:units --trace
Try this rake_test_loader.rb thing on each test suite.
Its working if I specify ruby and also with rake_test_loader.rb
(/usr/bin/ruby -Ilib:test
“/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb”
test/unit/user_test.rb) specified.
The rake test is also working. Damn… I really need code coverage
stats…
Any help please? I will send u free Jam CD…
The test with rcov is working, however after completion tests its giving
an error as,
rake aborted!
Command failed with status (1): [/usr/bin/ruby
“/home/carlos/mytopics//vendor/plugins/rails_rcov/tasks/rails_rcov.rake”
–run-rake-task=test…].
Well, previously the error message was truncated so I couldn’t see only
part of it. I modified rake.rb file in sh method so as to get more info
out of error message:
def sh(*cmd, &block)
options = (Hash === cmd.last) ? cmd.pop : {}
unless block_given?
show_command = cmd.join(" ")
show_command = show_command[0,242] + “…”
# TODO code application logic heref show_command.length > 45
block = lambda { |ok, status|
ok or fail “Command failed with status (#{status.exitstatus}):
[#{show_command}]”
}
…
…
end
However, there is significant difference between code coverage shown by
rake test:test:rcov and rake test:units:rcov. The later one seems to be
more accurate though.
Any clues?
CS.
Carlos S. wrote:
Phlip wrote:
In theory, you should be able to run just one test suite with
ruby test/unit/role_test.rb
However, the Rails 2 generator f—ed that up; no idea why. The
maintainers were
formerly very good at keeping the tests flexible.
But…
Carlos S. wrote:
However doing rake test:units still fails and so does
rake:test:test:rcov or rake test:units:rcov.
I think those rcov things are a test coverage issue. If you use TDD you
should
not need them.
The error with rake test:units is:
rake aborted!
Command failed with status (1): [/usr/bin/ruby -Ilib:test
“/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb”
“test/unit/role_test.rb” “test/unit/attachment_test.rb”
“test/unit/section_test.rb” “test/unit/region_test.rb” "test/uni…]
Did you try rake test:units --trace ? or is this its output?
Yeah, this is the output of rake test:units --trace
Try this rake_test_loader.rb thing on each test suite.
Its working if I specify ruby and also with rake_test_loader.rb
(/usr/bin/ruby -Ilib:test
“/usr/lib/ruby/gems/1.8/gems/rake-0.8.2/lib/rake/rake_test_loader.rb”
test/unit/user_test.rb) specified.
The rake test is also working. Damn… I really need code coverage
stats…
Any help please? I will send u free Jam CD…
However, there is significant difference between code coverage shown by
rake test:test:rcov and rake test:units:rcov. The later one seems to be
more accurate though.
I can’t tell from your posts if all the tests run!
Coverage is an advanced topic, and it’s utterly irrelevant if you have a
broken
build. Do you still have any symptoms to report?
I have never used rcov (and my test to code ratio is usually 2:1), so I
feel
compelled to recommend you get on rcov’s mailing list for specific
questions
about it.
A thinking-out-of-the-box suggestion; can you manually identify lines of
code,
or branches, that are not tested? That research would help you out with
rcov’s
mission statement - better coverage!
–
Phlip
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.