首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHPUnit抱怨PHPUnit_Extensions_Story_TestCase失踪

PHPUnit抱怨PHPUnit_Extensions_Story_TestCase失踪
EN

Stack Overflow用户
提问于 2014-03-19 10:09:39
回答 3查看 1.1K关注 0票数 1

最近,我在使用PHPUnit时遇到了问题,尽管扩展已经安装(以前使用PHPUnit/PHPUnit_ PHPUnit_Extensions_Story_TestCase安装),但它一直在抱怨缺少PHPUnit_Extensions_Story_TestCase。只有在运行失败的单元测试时才会发生这种情况。因此,我没有使用“正常”的正确的故障堆栈跟踪,而是有如下所示:

代码语言:javascript
复制
ECould not find PHPUnit_Extensions_Story_TestCase

#0  PHPUnit_Util_Fileloader::{closure}(PHPUnit_Extensions_Story_TestCase) called at [/Users/pedro/Code/Repositories/api-v2/src/XXX/system/Autoloader.php:40]
#1  Autoloader->autoload(PHPUnit_Extensions_Story_TestCase)
#2  spl_autoload_call(PHPUnit_Extensions_Story_TestCase)
#3  class_exists(PHPUnit_Extensions_Story_TestCase) called at [phar:///usr/bin/phpunit/phpunit/Util/Blacklist.php:110]
#4  PHPUnit_Util_Blacklist->initialize() called at [phar:///usr/bin/phpunit/phpunit/Util/Blacklist.php:74]
#5  PHPUnit_Util_Blacklist->isBlacklisted(phar:///usr/bin/phpunit/php-invoker/Invoker.php) called at [phar:///usr/bin/phpunit/phpunit/Util/Filter.php:105]
#6  PHPUnit_Util_Filter::getFilteredStacktrace(PHP_Invoker_TimeoutException Object ([] => Execution aborted after 5 seconds,[] => ,[] => 0,[] => phar:///usr/bin/phpunit/php-invoker/Invoker.php,[] => 111,[] => Array ([0] => Array ([file] => /Users/pedro/Code/Repositories/api-v2/src/XXX/data/adapters/MySQLiAdapter.php,[line] => 160,[function] => callback,[class] => PHP_Invoker,[type] => ->,[args] => Array ([0] => 14)),[1] => Array ([file] => /Users/pedro/Code/Repositories/api-v2/src/XXX/data/adapters/MySQLiAdapter.php,[line] => 306,[function] => query,[class] => XXX\data\adapters\MySQLiAdapter,[type] => ->,[args] => Array ([0] => SELECT * FROM `users` ORDER BY RAND() LIMIT 82 )),[2] => Array ([file] => /Users/pedro/Code/Repositories/api-v2/src/XXX/data/objects/Mapper.php,[line] => 138,[function] => select,[class] => XXX\data\adapters\MySQLiAdapter,[type] => ->,[args] => Array ([0] => `users`,[1] => ,[2] => RAND(),[3] => 82)),[3] => Array ([file] => /Users/pedro/Code/Repositories/api-v2/src/XXX/resources/hybrid/Users.php,[line] => 53,[function] => read,[class] => XXX\data\objects\Mapper,[type] => ->,[args] => Array ([0] => RAND(),[1] => 82)),[4] => Array ([function] => read,[class] => XXX\resources\hybrid\Users,[type] => ->,[args] => Array ([0] => XXX\data\objects\Operation Object

在最后告诉实际问题之前,这是如何不知道还有多少行的:

代码语言:javascript
复制
Time: 20.35 seconds, Memory: 18.50Mb

There was 1 failure:

1) Tests\XXX\resources\hybrid\NotificationsTest::testReadNotificationsWithLimit
Failed asserting that '4567135422196220076' matches expected 4567135456555958453.

/Users/pedro/Code/Repositories/api-v2/tests/XXX/resources/hybrid/NotificationsTest.php:168

FAILURES!
Tests: 5, Assertions: 15, Failures: 1.

Generating code coverage report in Clover XML format ...

我正在运行PHPUnit 4.0.10,并且已经安装了PHPUnit_Story 1.0.2。我知道这不是一个正常的行为,但不幸的是,我不知道如何摆脱这种情况。有什么建议吗?

P.S. -我正在检查/usr/bin/phpunit文件,在autoload函数中,$classes数组缺少一个带有'phpunit_extensions_story_testcase‘...but的条目,如果我试图编辑该文件,Phar会抱怨签名无效。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-14 11:29:16

您在/Users/pedro/Code/Repositories/api-v2/src/XXX/system/Autoloader.php的自定义自动加载程序是输出这些内容,而不是在40上返回false。如果没有看到自动加载程序的源代码,就不可能知道为什么会发生这种情况。

如果无法加载一个类,则return false 自动加载程序应该静默地。这是允许链接多个自动加载器所必需的。PHPUnit为自己的代码使用了自己的自动加载程序,由于您的自定义自动加载程序没有遵循规范,因此无法正确运行。

票数 2
EN

Stack Overflow用户

发布于 2014-03-23 19:10:06

我也有同样的问题,我解决这个问题的唯一方法--目前--被降级为PHPUnit 3.7.32。

票数 0
EN

Stack Overflow用户

发布于 2014-11-05 20:55:11

phpunit 4.x也有同样的问题。与YII1.x自动机联合使用。通常,单元测试工作正常,但一旦启用代码覆盖率,就会中断。

免责声明:以下内容确实很难看,但对我来说很管用:

只需向项目中添加一个空类,这样自动加载程序就不会失败。

代码语言:javascript
复制
<?php

if(!class_exists('PHPUnit_Extensions_Story_TestCase'))
{
    /**
     * PHPUnit_Extensions_Story_TestCase
     * 
     * This skeleton class is added to get code coverage collection using XDebug 
     * and PHPUnit 4.x working again.
     */
    class PHPUnit_Extensions_Story_TestCase
    {

    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22502387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档