逆引きrhaco(?)15: ユニットテストを作りたい
その前にdoctestの解説をしろという話がありますが、今ちょうどやってるので、書いておきます。
ユニットテストをする場合は
1.まずユニットテスト用のフォルダを作ります。rhaco本体にならって_testappとします。
2.rhaco本体の_testapp下のindex.phpとsetup.php、__init__.phpをテスト用フォルダにコピーします。
3.rhaco本体にならって_testapp/setup/testsフォルダを作成します。
4.rhaco本体の_testapp/setup/testsフォルダから作成したtestsフォルダにunittest.phpをコピーします。
以上で最小構成が出来ました。たぶんこんな感じです。
_testapp index.php setup.php __init__.php setup tests unittest.php
この構成のsetup.phpにアクセスするとrhacoのセットアップ画面が表示されます。
適当に設定して(ログをdeep_debugにすると吉)設定ボタンを押せば設定は完了です。
testと書いてあるリンクを押して下さい。
何も表示されませんが、とりあえずこれで動きました。
次にテストを書いてみます。セットアップの後はこんな感じになってるはずです。
_testapp index.php setup.php __init__.php setup tests unittest.php library resources work (logやキャッシュ設定をしてれば)
rhacoのテストはdoctestがベースなため、テストの呼び出し元を作る必要があります。ここではlibraryの下にtest.phpを作ってみます。
test.php(ファイル名とクラス名は一致させる必要があります)
<?php class test { function test(){ } function testMethod(){ /*** unit('sampleTest'); */ } } ?>
テスト用ファイルをtests下に作ります。
sampleTest.php
<?php class sampleTest extends UnitTest { successTest(){ $this->assertEqual(1,1); } failTest(){ $this->assertEqual(1,0); } } ?>
これでもう一度動かすと、success 1, failure 1という結果が出て、テストが動いたことが確認できます。次は_testapp外のファイルをテストしたい場合について書きます。