問題
コードの品質を向上させるために、平凡な最高のテストソリューションではなく、単体テストを使用してコードをテストする方法を学ぶことにしました。
私は、一般的なデータベース機能を実現できるパーソナルライブラリ用のcomposerを使用してPHPUnitをインストールすることにしました。最初はPHPUnitの構成ファイルがなく、次のようなコマンドを実行したとき。
$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest
これはターミナルコマンドであるため、.php
拡張子を含めなかったことに注意してください。上記のGeneralStringFunctionsTestは、実際にはGeneralStringFunctionsTest.php
ファイルです。
出力は私が期待したものです:
時間:31ミリ秒、メモリ:2.75Mb
OK(1つのテスト、1つのアサーション)
次に、毎回手動でファイルを入力する代わりに、構成ファイルを使用してテストスイートを自動的にロードしようとしました。phpunit.xml
ルートディレクトリにというファイルを作成し、ファイルに次のように入力しました。http://pastebin.com/0j0L4WBD:
<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
<testsuites>
<testsuite name="Tests">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
ここで、コマンドを実行すると、次のようになります。
phpunit
次の出力が得られます。
SebastianBergmannと寄稿者によるPHPUnit4.5.0。
/Users/muyiwa/Projects/DatabaseHelper/phpunit.xmlから読み取った構成
時間:16ミリ秒、メモリ:1.50Mb
テストは実行されませんでした!
役立つ場合、私のディレクトリ構造は次のとおりです
。src-トップレベルディレクトリ(すべてのソースコードを含む)
テスト-トップレベルディレクトリ(すべてのテストを含み、srcフォルダと同じ構造)
ベンダー-Composerサードパーティファイル
また、composer jsonとlockファイル、およびトップレベルのphpunitxmlファイルをファイルとして持っています。
私が試したこと
- ディレクトリをに変更
phpunit.xml
するtests/GeneralStringFunctions
- ディレクトリをに変更
phpunit.xml
する./tests
phpunit.xml
ファイルをtests
ディレクトリに移動してから、ディレクトリをの./
代わりに変更しますtests
。- のディレクトリタグにサフィックス属性を追加し
phpunit.xml
て、明示的なサフィックスとして「テスト」を指定します。
tests/GeneralStringFunctions/GeneralStringFunctionsTest
フォルダやファイル名は?