對於我們的項目,我在PHPUnit框架之上創建了一個框架,它幫助我們編寫單元測試的一些常見任務。使用定製框架從目錄運行PHPUnit測試
此自定義框架繼承自PHPUnit_Framework_TestCase,然後修改mySetup()併爲我們的代碼添加一堆有用的函數。
<?php
class OurUnitTestFramework extends PHPUnit_Framework_TestCase {
public $dbMock;
protected function mySetup (..) { ... }
protected function testHelper() { ... }
}
?>
現在,在我們的測試代碼中,我們只是擴大OurUnitTestFramework然後編寫測試。
<?php
require_once ("OurUnitTestFramework");
class DatabaseConnectionTest extends OurUnitTestFramework {
parent::setUp (..) { ... }
public function testSomeThing() { ... }
public function testSomeOtherThing() { ... }
}
?>
到目前爲止我們通過詹金斯運行所有的單元測試,它仍然運行良好,但現在,當我們嘗試運行失敗的文件夾中的測試。該文件夾內的所有測試/子文件夾中成功運行,但有一個故障:
[[email protected] model]$ phpunit database
PHPUnit 3.5.14 by Sebastian Bergmann.
F........
Time: 0 seconds, Memory: 10.50Mb
There was 1 failure:
1) Warning
No tests found in class "OurUnitTestFramework".
FAILURES!
Tests: 9, Assertions: 30, Failures: 1.
我有有子目錄和所有的測試從該文件夾和子文件夾它傳遞一個目錄數據庫,但我從拿到失敗OurUnitTestFramework表示在這個定製框架中沒有找到測試。所以我無法理解爲什麼phpunit在測試文件中包含/擴展的文件上運行單元測試?
我們可以簡單地選擇忽略此有一個錯誤,但我想知道是否還好這樣離開還是有,我需要配置,使之通過東西。
感謝
您可以直接不涉及'OurUnitTestFramework'運行在隔離該文件中的測試,沒有其他的測試和使用PHPUnit。這可能有助於隔離您的問題。 – vascowhite
我能夠單獨運行測試,但所有測試都包含'OurUnitTestFramework'。我不能拿出這個框架並直接使用PHPUnit,因爲它需要重新編寫測試。有沒有其他方法?謝謝! – Sumitk