From: Brian Candler Date: 2011-04-21T05:38:54+09:00 Subject: Re: assert_name doesn't exist as a function? 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/.