2010-08-24 48 views
0

哪個動作/法是PHPUnit中等於SimpleTest的:

$this->UnitTestCase('message .....') 

編輯:對不起,我錯


我想我問直接在簡單的測試不存在它只是我們的擴展課程。

但是這種方法在開始測試時顯示消息 - 它如何使用PHPUnit完成?

感謝

+0

我檢查過文檔,找不到那種方法(我沒有看起來很難)...我看到了一個以該名稱命名的類,但不是一種方法......它是做什麼的? – ircmaxell 2010-08-24 12:56:13

+0

@ircmaxell:我有同樣的麻煩,我最好的猜測是這樣的:http://www.simpletest.org/api/SimpleTest/UnitTester/UnitTestCase.html#__construct – Tim 2010-08-24 12:57:46

+0

@Tim,你不能調用'__construct'按班級名稱。你需要調用'parent :: __ construct'(我試過了)。所以,如果這是'$ this'繼承的類,那麼就沒有'UnitTestCase'方法(據我所知)......這個問題真的令人費解...... – ircmaxell 2010-08-24 13:01:23

回答

1

我不是一個專家SimpleTest的,但據我可以告訴大家,是對UnitTestCase類的構造函數。 PHPUnit中的等價物是PHPUnit_Framework_TestCase;您可以通過創建自己的測試並定義測試方法來創建自己的測試。見the PHPUnit docs在一個快速HOWTO和更多信息編寫測試,但簡單地說,這是一個完整的PHPUnit測試:

class MyTest extends PHPUnit_Framework_TestCase { 
    public function testSomething { 
     $this->assertTrue(MyClass::getSomethingTrue()); 
    } 
}

更新:回答修改後的問題,以顯示PHPUnit的信息的主要方式是斷言失敗。每個assert*函數最後都有一個可選的$message參數,當該斷言失敗時,您可以使用該參數顯示自定義消息。

如果你想總是顯示一條消息,而不必失敗一個斷言,那麼你可以嘗試一個簡單的print聲明。它會穿插在測試輸出中,所以這可能不是實現你想要的最好(或者最好看)的方式,但它肯定會將文本轉儲到控制檯,這正是你所要求的。

如果您在單元測試期間尋找一些高級調試,您可能還需要考慮某種日誌框架(或者甚至只是一個自定義函數,該函數可以打開文件,打印文件並關閉文件再次)。這樣,您可以保持測試輸出的完整性,但在您的測試過程中仍然可以獲得額外的自定義消息。