我想用PHP單元執行一些databasetests但我不斷收到以下錯誤: 數據庫測試faillure用DbUnit
我composer.json這個樣子的:
{
"require": {
"phpunit/phpunit": "4.8",
"phpunit/dbunit": "^2.0"
}
這是我試圖執行測試的頁面:
<?php
require_once 'autoload.php';
class testDatabase extends \PHPUnit_Extensions_Database_TestCase {
public function getConnection() {
$db = new PDO(
"mysql:host=localhost;dbname=mrf",
"", "");
return $this->createDefaultDBConnection($db, "bulletproof");
}
}
?>
我使用sql autoloader加載主要的php類,它看起來像下面這樣:
<?php
spl_autoload_register(function($class) {
require_once '../classes/' . $class . '.php';
});
?>
在我看來,奇怪的是常規的phpunit測試運行,但dbUnit測試沒有。我嘗試了從packagist下載的composer,phpUnit和dbUnit的幾個升級版,但沒有成功。
會很好,如果你能幫助我, 在此先感謝。
嗨,謝謝你的回答。當我喜歡你說,並要求'vendor/autoload.php'時,我得到以下錯誤:'phpunit_textUI_resultprinter :: construct - ()的的參數#3必須是來自「never」,「auto」或「always」'我搜索了這個錯誤,並將phpunit從'require-dev'移到'dev'。很遺憾沒有結果。我現在運行phpunit 5.3.2。你有什麼想法?謝謝! –
您是否運行'vendor/bin/phpunit'或您的系統安裝版本?不幸的是,除了猜測,沒有第一個觀點的想法。也許這個網站 –
是值得的另一個問題是。嗯,壞...我真的很喜歡測試驅動開發的想法,但直到它不是一個痛苦的工作:P感謝您的幫助,我會打開另一個問題。 –