Hi,
assert_raise does not output stack trace when different exception
from expected one is raised.
$ cat test_assert_raise.rb
require "test/unit"
class TestAssertRaise < Test::Unit::TestCase
def test_assert_raise
assert_raise(ArgumentError) { raise RuntimeError }
end
end
$ ./ruby test_assert_raise.rb
Loaded suite test_assert_raise
Started
TestAssertRaise#assert_raise deprecated. Use #assert_raises. From
test_assert_raise.rb:5:in `test_assert_raise'.
F
Finished in 0.010000 seconds.
1) Failure:
test_assert_raise(TestAssertRaise)
[/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:139]:
Expected [ArgumentError] to include RuntimeError.
1 tests, 2 assertions, 1 failures, 0 errors
assert_send does not work at all.
$ cat test_assert_send.rb
require "test/unit"
class TestAssertSend < Test::Unit::TestCase
def test_assert_send
assert_send([1, :foo])
end
end
$ ./ruby test_assert_send.rb
Loaded suite test_assert_send
Started
E
Finished in 0.000000 seconds.
1) Error:
test_assert_send(TestAssertSend):
TypeError: #<Proc:0x83294cc@/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:211>
is not a symbol
/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:163:in
`assert_send'
test_assert_send.rb:5:in `test_assert_send'
/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:410:in `run'
/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:389:in
`block (2 levels) in run_test_suites'
/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:383:in
`each'
/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:383:in
`block in run_test_suites'
/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:382:in
`each'
/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:382:in
`run_test_suites'
/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:362:in `run'
/home/mame/work/ruby19/commit/local/lib/ruby/1.9.0/mini/test.rb:311:in
`block in autorun'
1 tests, 0 assertions, 0 failures, 1 errors
Index: lib/mini/test.rb
===================================================================
--- lib/mini/test.rb (revision 19554)
+++ lib/mini/test.rb (working copy)
@@ -136,8 +136,7 @@
yield
should_raise = true
rescue Exception => e
- assert_includes exp, e.class
- exception_details(e, "<#{mu_pp(exp)}> exception expected, not")
+ assert_includes exp, e.class, exception_details(e,
"<#{mu_pp(exp)}> exception expected, not")
return e
end
@@ -158,9 +157,9 @@
end
def assert_send send_ary, msg = nil
- recv, msg, *args = send_ary
+ recv, meth, *args = send_ary
msg = message(msg) { "Expected ##{msg} on #{mu_pp(recv)} to
return true" }
- assert recv.__send__(msg, *args), msg
+ assert recv.__send__(meth, *args), msg
end
def assert_throws sym, msg = nil
--
Yusuke ENDOH <mame / tsg.ne.jp>