2016-07-22 74 views
0

我可以創建一個PHP文件,它使用PHPunit在類中的一個函數內部進行斷言。是否有可能調用函數,每個函數都包含一個斷言?如何在需要時調用函數,每個函數包含PHPUnit函數

(目前我只使用XAMPP和記事本+ +在Windows上)

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',然後它會爲您提供有關哪些測試失敗以及哪些斷言失敗的詳細信息。就此而言,在單個文件/類中使用多種測試方法要好得多,因爲它更好地隔離每個測試用例,並允許您獨立查看每個成功/失敗。 – 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. 

隔離了每個測試用例併爲您提供詳細的信息在測試用例失敗,並斷言他們失敗了。

相關問題