7stud -- wrote in post #994086:
>> test.rb:8: undefined method `assert_same' for main:Object
>> (NoMethodError)
>>
>> Surely the includes include this method?
>>
>> I am new to ruby.
>
> In ruby 'hello' and 'hello' are not *the same*.  Quotes serve as a
> String constructor, and those are two different objects.

That would explain it if assert_same raised an AssertionFailedError. But 
it does not explain the NoMethodError :-)

It works as expected for me if I require test/unit explicitly:

irb(main):001:0> require 'test/unit'
=> true
irb(main):002:0> include Test::Unit::Assertions
=> Object
irb(main):003:0> assert_same "hello","hello"
Test::Unit::AssertionFailedError: <"hello">
with id <70122845327940> expected to be equal? to
<"hello">
with id <70122845327920>.
  from /usr/lib/ruby/1.8/test/unit/assertions.rb:48:in `assert_block'
  from /usr/lib/ruby/1.8/test/unit/assertions.rb:495:in 
`_wrap_assertion'
  from /usr/lib/ruby/1.8/test/unit/assertions.rb:46:in `assert_block'
  from /usr/lib/ruby/1.8/test/unit/assertions.rb:249:in `assert_same'
  from (irb):3
  from /usr/lib/ruby/1.8/optparse.rb:311

I am using ruby 1.8.7p299 under Ubuntu 10.10 x86_64. The OP didn't 
specify their platform. Maybe they are running an old version of Ruby 
which doesn't include assert_same? Or possibly require 'firewatir' is 
defining the Test::Unit::* constants, without actually requiring 
test/unit/assertions?

-- 
Posted via http://www.ruby-forum.com/.