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)
endV 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)
endS 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.
