我想用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感谢您的帮助,我会打开另一个问题。 –