Ruby: how can I use assert_nothing_raised?

assert_nothing_raised do @board.make_move(0,0,Board::HUMAN) end 

and the docs say:

 Passes if block does not throw anything. Example: assert_nothing_thrown do [1, 2].uniq end 

my make_move method:

 def make_move(x, y, player) return false end 

I get an error message:

 test_can_make_valid_move_in_the_first_row(BoardTest): ArgumentError: wrong number of arguments (1 for 2) 
+4
source share
2 answers

This code works for me. Does it work for you?

 require 'test/unit' require 'test/unit/ui/console/testrunner' class MyTestClass < Test::Unit::TestCase def test_something assert_nothing_raised do p 'hi' end end end Test::Unit::UI::Console::TestRunner.run(MyTestClass) 

I think you are using assert_nothing_raised correctly. Try replacing

 @board.make_move(0,0,Board::HUMAN) 

with something simpler like

 p 'hi' 

and see if that works. Also try commenting out all the other code in your test.

+4
source

You could argue that you should never use assert_nothing_raised since you are not actually testing anything. Cm:

http://blog.zenspider.com/blog/2012/01/assert_nothing_tested.html

I added the following thoughts:

Why doesn't MiniTest :: Spec have a wont_raise statement?

+2
source

Source: https://habr.com/ru/post/1337671/


All Articles