草庐IT

ecomdev-phpunit

全部标签

PHPUnit 模拟对象和静态方法

我正在寻找测试以下静态方法的最佳方法(特别是使用Doctrine模型):classModel_UserextendsDoctrine_Record{publicstaticfunctioncreate($userData){$newUser=newself();$newUser->fromArray($userData);$newUser->save();}}理想情况下,我会使用一个模拟对象来确保fromArray(使用提供的用户数据)和save被调用,但这是不可能的,因为该方法是静态的.有什么建议吗? 最佳答案 PHPUnit的作

php - 如何让 XDebug 在 CLI 上与 PHPUnit 一起运行?

我已尝试运行以下CLI命令:phpunit-dxdebug.profiler_enable=onXYZTestCase.php但它只是正常运行。谁能指出我正确的方向?谢谢!这是XDebug设置:xdebugxdebugsupport=>enabledVersion=>2.1.2Supportedprotocols=>RevisionDBGp-CommonDeBuGgerProtocol=>$Revision:1.145$Directive=>LocalValue=>MasterValuexdebug.auto_trace=>Off=>Offxdebug.collect_assignme

php - 如何让 XDebug 在 CLI 上与 PHPUnit 一起运行?

我已尝试运行以下CLI命令:phpunit-dxdebug.profiler_enable=onXYZTestCase.php但它只是正常运行。谁能指出我正确的方向?谢谢!这是XDebug设置:xdebugxdebugsupport=>enabledVersion=>2.1.2Supportedprotocols=>RevisionDBGp-CommonDeBuGgerProtocol=>$Revision:1.145$Directive=>LocalValue=>MasterValuexdebug.auto_trace=>Off=>Offxdebug.collect_assignme

mysql - Laravel & PHPUnit : allow process isolation to prevent Mysql Too many connections error

四个月以来,我们使用Laravel4构建了一个具有良好单元测试覆盖率的复杂网络应用程序。现在我们有159个测试和592个断言来防止回归并允许我们轻松地重构我们的应用程序。漂亮的图片,但几天后我们在上次测试中出现以下错误:PDOException:SQLSTATE[HY000][1040]Toomanyconnections原因很简单:所有的测试都在同一个进程中运行,MySQL在同一时间内只允许一定数量的访问。现在,我们有太多的测试。如果我在我的测试套件中间删除了几个测试,最后一个通过。解决方案可能是像下面的配置那样在进程隔离中运行PHPUnit,但Laravel测试似乎不会像那样启动。

mysql - Laravel & PHPUnit : allow process isolation to prevent Mysql Too many connections error

四个月以来,我们使用Laravel4构建了一个具有良好单元测试覆盖率的复杂网络应用程序。现在我们有159个测试和592个断言来防止回归并允许我们轻松地重构我们的应用程序。漂亮的图片,但几天后我们在上次测试中出现以下错误:PDOException:SQLSTATE[HY000][1040]Toomanyconnections原因很简单:所有的测试都在同一个进程中运行,MySQL在同一时间内只允许一定数量的访问。现在,我们有太多的测试。如果我在我的测试套件中间删除了几个测试,最后一个通过。解决方案可能是像下面的配置那样在进程隔离中运行PHPUnit,但Laravel测试似乎不会像那样启动。

php - 如何使用 PHPUnit 跨多个 mysql 模式进行测试?

我想测试一个使用PHPUnit的PHPUnit_Extensions_Database_TestCase类跨多个模式进行查询的过程。我已经翻阅了文档、SO和源代码,但似乎我必须使用以下内容设置我的数据库:protectedfunctiongetConnection(){$this->pdo=newPDO('mysql:host=localhost;dbname=unit_test_schema','xxxx','yyyy');return$this->createDefaultDBConnection($this->pdo,'unit_test_schema');}protectedf

php - 如何使用 PHPUnit 跨多个 mysql 模式进行测试?

我想测试一个使用PHPUnit的PHPUnit_Extensions_Database_TestCase类跨多个模式进行查询的过程。我已经翻阅了文档、SO和源代码,但似乎我必须使用以下内容设置我的数据库:protectedfunctiongetConnection(){$this->pdo=newPDO('mysql:host=localhost;dbname=unit_test_schema','xxxx','yyyy');return$this->createDefaultDBConnection($this->pdo,'unit_test_schema');}protectedf

php - PDOException : could not find driver when using phpunit

我开始使用laravel4并且我正在尝试开始使用单元测试,以便让我的生活更轻松。好吧,你们都猜到我的开发在尝试了phpunit测试后并没有变得更容易。简单的测试很好,很容易,但是当事情开始变得更复杂时,它们并没有像我想象的那样进行。问题是我进行了简单的测试,但我得到了一些奇怪的错误PDOException:couldnotfinddriver。我已经阅读了几篇关于这个主题的文章和帖子,但没有解决我的问题。我已经安装了php5-mysql,当我调用php-m时,它说我同时拥有PDO和pdo_mysql。我使用的实际命令是php-m|grep-i"pdo"输出是:PDOpdo_mysql好

php - PDOException : could not find driver when using phpunit

我开始使用laravel4并且我正在尝试开始使用单元测试,以便让我的生活更轻松。好吧,你们都猜到我的开发在尝试了phpunit测试后并没有变得更容易。简单的测试很好,很容易,但是当事情开始变得更复杂时,它们并没有像我想象的那样进行。问题是我进行了简单的测试,但我得到了一些奇怪的错误PDOException:couldnotfinddriver。我已经阅读了几篇关于这个主题的文章和帖子,但没有解决我的问题。我已经安装了php5-mysql,当我调用php-m时,它说我同时拥有PDO和pdo_mysql。我使用的实际命令是php-m|grep-i"pdo"输出是:PDOpdo_mysql好

PHPUnit 和 MySQL 截断错误

我对PHPUnit在插入夹具之前总是运行TRUNCATE的行为感到头疼没有首先设置外键检查:语法错误或访问冲突:1701无法截断外键约束中引用的表基本上,PHPUnit会在插入固定装置之前尝试截断表格。我如何告诉它SETFOREIGN_KEY_CHECKS=0;? 最佳答案 我似乎找到了答案。我最终通过扩展类覆盖了一些方法。getConnection()->query("SETforeign_key_checks=0");parent::execute($connection,$dataSet);$connection->getCo