机油测试引发未捕获的异常

Posted

技术标签:

【中文标题】机油测试引发未捕获的异常【英文标题】:Oil test raises uncaught exception 【发布时间】:2014-05-22 07:23:14 【问题描述】:

我在“php oil test”命令的丛林中徘徊了几天。

我在 windows7 中通过 pear 安装了 phpunit。 安装后,当我执行“php oil test”命令时,出现以下错误。

> php油测试

未捕获的异常 Oil\Exception: PHPUnit 似乎没有安装。

但是,看起来 phpunit 安装正确,因为“phpunit --version”命令工作正常(请参阅下文)。

>phpunit --version

Sebastian Bergmann 的 PHPUnit 4.0.14。

当然,“pear list”命令显示的是PHPUnit包。

>梨列表

安装包,CHANNEL PEAR.PHPUNIT.DE:

包版本状态 File_Iterator 1.2.3 稳定版

PHPUnit 4.0.14 稳定版

PHPUnit_SkeletonGenerator 1.2.1 稳定版

PHP_CodeCoverage 1.0.2 稳定版

PHP_Timer 1.0.0 稳定版

PHP_TokenStream 1.2.2 稳定版

Text_Template 1.2.0 稳定版

我尝试了以下页面列出的一些方法,但仍然无法解决。

Installing PHPUnit via PEAR

谁能给出一些建议来运行“php oil test”命令而不会出错?

欢迎任何建议!


添加我的代码。

/fuel/core/classes/testcase.php

命名空间 Fuel\Core;

类 TestCase 扩展 \PHPUnit_Framework_TestCase

/fuel/app/tests/controller_testcase.php

使用 Fuel\Core\Log;

使用 Fuel\Core\DBUtil;

使用 Fuel\Core\DB;

使用 Fuel\Core\TestCase;

使用 Fuel\Core\Config;

使用 Fuel\Core\Request;

类 ControllerTestCase 扩展 TestCase

公共函数 setUp()

..

php 已安装 C:\php 和 pear.bat & phpunit.bat 也在那里。 C:\php\pear 文件夹中不存在 PHPUnit 文件夹。

【问题讨论】:

您确定它包含在您的路径中吗? 感谢您的信息。但是 phpunit 已包含在我的系统“路径”环境中:-(您还有其他想法吗? 对不起,我的意思是它包含在你的代码中,你的代码中包含 phpunit_framework_testcase 吗? 好吧.. 我还在丛林中。它看起来 ./fule/core/TestCase 类扩展了 PHPUnit_Framework_TestCase 类。我的代码扩展了 TestCase 类。所以我认为在这一点上没有问题。但是 PHPUnit_Framework_TestCase 类在我的任何地方都不存在。而且 PHPUnit/Autoload.php 也不存在。于是我又尝试通过pear重新安装phpunit,但是“php oil test”命令还是不行:- 请用您的代码更新您的问题 【参考方案1】:

Oil 使用配置键“oil.phpunit.autoload_path”来查找 PHPUnit 自动加载器的位置,如果没有定义,它使用“PHPUnit/Autoload.php”,结合定义的 PHP 包含路径。

然后它会尝试包含这个文件,并检查“PHPUnit_Framework_TestCase”类是否可用。如果没有,它会显示您看到的错误消息。

它与使用定义路径定位的 PHPUnit 二进制文件无关。

这只是意味着安装PHPunit的位置不在PHP的搜索路径中,也没有配置自定义路径。

【讨论】:

以上是关于机油测试引发未捕获的异常的主要内容,如果未能解决你的问题,请参考以下文章

未捕获异步方法中引发的异常 - 为啥?

vb.net制作的Excel文件 未捕获通过反射调用的方法而引发的异常

在表格行中添加子视图时引发未捕获的异常

终结器 java.lang.IllegalStateException 引发的未捕获异常:Binder 已终结

设置 NSManagedObject 的 Bool 属性会引发“iOS 10 中未捕获的异常”

python 这意味着无论何时引发未捕获的异常,我都会立即得知发生了什么(完全回溯)。