致命错误:Class' PHPUnit_Framework_TestCase'在第24行的dbunit \ PHPUnit \ Extensions \ Database \ TestCase.php中找不到

时间:2015-04-02 22:28:20

标签: php unit-testing phpunit dbunit

我想为MySQL数据库编写测试。当我尝试扩展数据库扩展时,它在标题中给出了上述错误:

class FixtureTestCase extends PHPUnit_Extensions_Database_TestCase 

注意:我已在全局安装了PHPUnit,我可以通过cmd中的phpunit访问它。我有最新的PHPUnit 4.5.1。

我还通过Dbunit全球安装了composer

composer global require phpunit/dbunit

任何帮助将不胜感激。我用过PHP 5.4。

3 个答案:

答案 0 :(得分:3)

为了引用位于全局命名空间内的类,可以使用向后(\)斜杠为它们添加前缀。 试试这个:

class FixtureTestCase extends \PHPUnit_Extensions_Database_TestCase 

使用前导后退(\)斜杠,PHP知道我们指的是全局命名空间中的PHPUnit_Extensions_Database_TestCase类,并且找到了该类。

更多信息here

希望得到这个帮助。

答案 1 :(得分:0)

它可能是DBUnit的版本。例如,我使用的是PHPUnit 4.8,它适用于DBUnit 1.4

当我使用"phpunit/dbunit": ">=1.2"的作曲家时,我遇到了上述错误,最后我得到了DBUnit 2.0。

答案 2 :(得分:-3)

测试你的数据库怎么样?通过您创建的API或直接访问数据库?我建议您编写一个API来访问您的数据库,然后将测试写入API。 例如,如果您要插入一个用户,您可以调用您的Web服务器地址(localhost:3000)或您拥有的东西,然后通过POST调用/ users来插入并创建路由。 我建议使用LARAVEL。