2016-07-22 9 views
0

クラス内の1つの関数内でアサーションをPHPunitで使用する単一のPHPファイルを作成できます。各関数がアサーションを含む関数を呼び出すことは可能ですか?必要に応じて関数を呼び出す方法(それぞれPHPUnitのアセンブラを含む)

(現時点では、私はWindows上でのみ++ XAMPPとメモ帳を使用しています)

fileA.php: 
============= 
require_once ‘fileA.php’; 
testA(): 
testB(); 
testC(); 


fileB.php: 
========== 

class availabletests extends \PHPUnit_Framework_TestCase 
{ 

    function testA() 
    { $this->assertEquals(2,1+1); } 

    function testB() 
    { $this->assertEquals(20,1+1); } 

    function testC() 
    { $this->assertEquals(8,1+1); } 

} 

多くの感謝!

+0

一般に、phpunitスクリプトを使用して単体テストを実行すると、 '$ phpunit fileB.php'が実行され、どのテストが失敗し、どのアサーションが失敗したかに関する冗長な情報が表示されます。その程度では、1つのファイル/クラスに複数のテストメソッドを持たせるほうがずっと良いです。それぞれのテストケースを分離する方が優れているため、それぞれの成功/失敗を個別に見ることができます。 – Ataraxia

答えて

0

だけでなく、それが可能単一ユニットテストで複数のテストメソッドを持つことである、それはPHPUnitのを使用するように設計されており、preferable to putting multiple assertions into a single testですか、実際のです。あなたのユニットテストはcommand line test runner経由で実行すると、これが出力されます:

$ phpunit availabletests.php 
    PHPUnit 3.7.27 by Sebastian Bergmann. 

    .FF 

    Time: 41 ms, Memory: 3.00Mb 

    There were 2 failures: 

    1) availabletests::testB 
    Failed asserting that 2 matches expected 20. 

    /home/gwallace/availabletests.php:10 

    2) availabletests::testC 
    Failed asserting that 2 matches expected 8. 

    /home/gwallace/availabletests.php:13 

    FAILURES! 
    Tests: 3, Assertions: 3, Failures: 2. 

これは、各テストケースを分離し、あなたのテストケースは失敗した、と彼らは失敗したアサーションれている詳細な情報を提供します。

関連する問題