rubyunit
je jedním z modulů realizujících unit testy.
Příklad 35.1. Příklad použití rubyunit
require 'rubyunit' class TestThing < RUNIT::TestCase def testOne ... assert_equal(0, v) end def testTwo ... end end if $0 == __FILE__ require 'runit/cui/testrunner' #RUNIT::CUI::TestRunner.quit_mode = false RUNIT::CUI::TestRunner.run(TestThing.suite) end
V testu musíme zažádat o soubory testovacího modulu
require 'runit/testcase'
require 'runit/cui/testrunner'
require 'runit/testsuite'
require 'myclass
'
Poté definujeme vlstní třídy testů
class Testing_class
< RUNIT::TestCase
...
end
Názvy metod ve třídě tesů musí začínat test
.
Každá metoda může provést jeden či více testů.
Pro testování používáme assert
metody RUNIT::TestCase
Podrobně projít mtody, opravit, dopsat, a vyhledat rozdíly ve verzích.
Metody RUNIT::TestCase
assert_fail
(message)
assert
(boolean, message)
assert_equal
(message)
assert_equal_float
(message)
assert_same
(message)
assert_nil
(message)
assert_not_nil
(message)
assert_respond_to
(message)
assert_kind_of
(message)
assert_instance_of
(message)
assert_match
(message)
assert_matches
(message)
assert_not_match
(message)
assert_exception
(message)
assert_no_exception
(message)
assert_operator
(message)
asserts
(message)
assert_send
(message)
Ve třídě testů můžeme definovat dvě speciální metody setup
a teardown
. První se spustí před každým testem a připraví prostředí, druhá po každém testu a provede nezbytný úklid.Ověřit správnost tvrzení.
Šablona pro testování
if __FILE__ == $0 require 'runit/testcase' require 'runit/cui/testrunner' require 'runit/testsuite' class Testing_class < RUNIT::TestCase def test_feature1 mine = My_class.new # ... etc end # ... end RUNIT::CUI::TestRunner.run(Testing_class.suite) end
S RubyUnit se dodává skript c2t.rb
. Tento skript se spouští s názvem souboru a třídy a vytvoří šablonu testovacího kódu.