Changes between Version 6 and Version 7 of EC-CUBE標準規約/単体テストガイドライン


Ignore:
Timestamp:
2012/12/09 08:40:08 (11 years ago)
Author:
shift_hiroko.tamagawa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • EC-CUBE標準規約/単体テストガイドライン

    v6 v7  
    1616||build.xml||テストやインスペクションを行うための設定ファイルです。|| 
    1717||tests|| || 
    18 ||├phpunit.xml||PHPUnitで使う各種設定を記載したファイルです。|| 
     18||├phpunit.xml||PHPUnitで使う各種設定を記載したファイルです。[[BR]]SVN上にはphpunit.xml.baseというファイルがありますが、ローカルではこれをコピーしてphpunit.xmlを作成してください。|| 
    1919||├ruleset.xml||PHP_CodeSniffer(インスペクションツール)用の設定ファイルです。|| 
    20 ||├require.php||テストに必要なファイルをインクルードするためのクラスです。|| 
     20||├require.php||テストに必要なファイルをインクルードするためのクラスです。[[BR]]SVN上にはrequire.php.baseというファイルがありますが、ローカルではこれをコピーしてrequire.phpを作成してください。|| 
    2121||└class||テスト用のクラスを格納するディレクトリです。|| 
    2222|| ├Common_TestCase.php||他のテストクラスの基底となるクラスです。|| 
     
    2727 
    2828== 2.   テストの実行方法 == 
     29===2.1.  実行の準備(初回のみ)=== 
     30単体テストを実行するためには、ローカルの環境にPHPUnitをインストールしておく必要があります。[[BR]] 
     31また、インクルードパス等をローカルの環境に合わせて書き換えるため、SVNに含まれているファイルをコピーしてローカル用の設定ファイルを作成する必要があります。[[BR]] 
     32手順は下記の通りです。 
     33 * tests/phpunit.xml.baseをコピーしてtests/phpunit.xmlを作成します。 
     34 * <filter><blacklist>タグ以下の「/usr/local/lib」の部分を、ローカルで使われる各種ライブラリが含まれているパスと置換します。 
     35  ** この設定はどのファイルをテストのカバレッジ測定の対象にするかを設定するためのものなので、設定をし直さなくても単体テスト自体は問題なく動作します。 
     36 * tests/require.php.baseをコピーしてtests/require.phpを作成します。 
     37 * PHPUnitのモジュールが使用できるように、インクルードパスを設定します。 
     38tests/phpunit.xml、tests/require.phpはsvn:ignoreに設定されているため、自由に書き換えてもコミットはされません。 
     39 
     40===2.2.  実行=== 
    2941全体のテストを行う場合には、phingのtestターゲットを実行します。[[BR]] 
    3042テストの内容はbuild.xmlの中に定義されているため、実際にはphpunitコマンドが発行されます。 
     
    3244% phing test 
    3345}}} 
    34  
    35 個々のテストを行う場合には、テスト対象のディレクトリを指定してphpunitコマンドを実行します。 
     46テストが完了すると、結果がreportsディレクトリ以下に出力されます。 
     47 * reports/tap.log TAP形式のテスト結果 
     48 * reports/unitreport.xml xUnit形式のテスト結果 
     49 * reports/coverage/coverage.xml カバレッジ測定結果のXML(主にJenkinsで処理するためのものなので気にしなくて良いです) 
     50 * reports/coverage/**.html カバレッジ測定結果のHTML 
     51 
     52個々のテストを行う場合には、テスト対象のディレクトリを指定してphpunitコマンドを実行します。[[BR]] 
     53標準出力ですぐにテスト結果を確認したい場合にはこちらのやり方のほうが良いでしょう。 
    3654 
    3755{{{ 
     
    4159 
    4260下の例のようにディレクトリを指定した場合には、ディレクトリ以下にあるテストケースが実行されます。 
     61 
     62カバレッジを測定したい場合には、専用のオプションを指定します。 
     63 
     64{{{ 
     65% phpunit -c tests/phpunit.xml --coverage-html reports/coverage tests/class/pages/LC_Page/LC_Page_InitTest.php 
     66}}} 
    4367 
    4468== 3.   テストクラスの構成 ==