Is there a way to run a testfile from inside an irb or pry session?
I tried load './testfile.rb
, but that doesn't run the tests in the testfile.
My Testfile looks like this:
require 'test/unit'
require './sudoku.rb'
class SudokuTest < Test::Unit::TestCase
def test_initialize
assert_nothing_raised do
Sudoku.new(Array.new(9*9))
end
assert_nothing_raised do
Sudoku.new(Array.new(9*9,Field.new(nil)))
end
end
end
Tests are not really meant to be run interactively like that, but if you look in the ruby standard library and look at the file test/unit.rb
you will see that it sets an at_exit
handler when you require 'test/unit'
:
at_exit do
unless $! || Test::Unit.run?
Kernel.exit Test::Unit::AutoRunner.run
end
end
So looking at this all you need to do in your irb
session is call:
Test::Unit::AutoRunner.run
This will run all tests you have loaded that are subclassed from Test::Unit::TestCase
.
If you just want to run the test file, without loading it into the irb
session, you could simply do:
system 'ruby testfile.rb'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With