2015-04-02 46 views
1

我想爲MySQL數據庫編寫測試。當我嘗試擴展數據庫的擴展,它給了我上述錯誤標題:致命錯誤:在第24行的dbunit PHPUnit Extensions Database TestCase.php中找不到類'PHPUnit_Framework_TestCase'

class FixtureTestCase extends PHPUnit_Extensions_Database_TestCase 

注:我已經安裝了PHPUnit全球,我可以經由PHPUnit在cmd中訪問它。我有最新的PHPUnit 4.5.1。

我也裝Dbunit全球通composer

composer global require phpunit/dbunit 

任何幫助將非常感激。我用過PHP 5.4。

+0

你之前用'\''試過了嗎?如:'類FixtureTestCase擴展\ PHPUnit_Extensions_Database_TestCase' – Matteo 2015-04-03 09:14:15

+0

你好,你找到一個解決方案? – Matteo 2015-04-07 05:24:53

+0

autoload.php的路徑可能會產生問題。這取決於作曲家的安裝。我建議你檢查一下作曲家。從那裏你可以提供供應商/ autoload.php的路徑。作曲家可以是一個隱藏的文件夾。所以你必須尋找它。 – caped114 2016-07-27 13:27:44

回答

3

爲了引用位於全局名稱空間內的類,您可以簡單地使用向後(\)斜槓作爲前綴。 試試這個:

class FixtureTestCase extends \PHPUnit_Extensions_Database_TestCase 

落後領先(\)斜線,PHP知道,我們指的是PHPUnit_Extensions_Database_TestCase類全局命名空間,且位於一個。

更多信息here

希望這有助於。

-3

測試你的數據庫如何?通過您創建的API或直接訪問數據庫?我建議你編寫一個API來訪問你的數據庫,然後將測試寫入API。 例如,如果你想插入一個用戶你打電話給你的Web服務器地址(本地主機:3000)或你有,然後通過POST調用/用戶插入並使路由。 我會建議使用LARAVEL。

+0

@Pedora dbunit是PHPUnit的擴展,用於測試數據庫事務或CRUD。我們不必創建任何API或使用Laravel。檢出此URL。 [PHPUnit數據庫測試](https://phpunit.de/manual/current/en/database.html) – rashidkhan 2015-04-03 22:48:00

+0

是的,我知道你不必創建一個我剛纔問的API,但它很難直接使用或創建一個API並使用它並更容易 – 2015-04-03 22:59:16

+0

我認爲這是使用PHPUnit進行測試的常見做法。所以我認爲它更好地理解它,而不是像你所建議的那樣創建一個API或使用Laravel。 – rashidkhan 2015-04-03 23:15:20

0

它可能只是DBUnit的版本。例如,我正在使用PHPUnit 4.8,它與DBUnit 1.4一起使用。

我在使用作曲器"phpunit/dbunit": ">=1.2"時遇到了上述錯誤,而且我以DBUnit 2.0結束。

相關問題