【问题标题】:Symfony: Fatal error: Class 'PHPUnit_Framework_TestCase' not found inSymfony:致命错误:找不到类“PHPUnit_Framework_TestCase”
【发布时间】:2012-10-08 09:27:04
【问题描述】:

使用 Symfony 2.0,我的整个系统在 localhost 中正常工作。

现在我尝试将其上传到 Internet 托管。在遇到一些错误后,我被困在这里:

Fatal error: Class 'PHPUnit_Framework_TestCase' not found in /home/preparatest/www/Symfony/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php

(顺便说一句,该类确实存在于该目录中)。

有人通过了吗?

注意:我没有特别配置 PHPUnit。我猜它只是包含在一些 Symfony 包中。我真的不知道它是做什么用的,如果可能的话,我不介意将它完全删除。

更新:这是不工作的确切类。显然它没有找到父类\PHPUnit_Framework_TestCase。但是,我坚持认为,这是一个捆绑在 Symfony 中的包,并且在本地运行良好。我不明白为什么它不在远程:(

<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Bundle\FrameworkBundle\Test;

use Symfony\Bundle\FrameworkBundle\Client;
use Symfony\Component\Finder\Finder;
use Symfony\Component\HttpKernel\HttpKernelInterface;

/**
 * WebTestCase is the base class for functional tests.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
abstract class WebTestCase extends \PHPUnit_Framework_TestCase
{
    static protected $class;
    static protected $kernel;

【问题讨论】:

  • 如果您不知道PHPUnit_Framework_TestCase 的用途,强烈建议您查看phpunit.de 并了解单元测试。它将大大增强您的编码。
  • 毫无疑问我会:)。但到目前为止,我需要的是让它在互联网上正常运行;)
  • 您能否详细说明此错误的情况?你在用控制台吗?只是通过网络访问应用程序?你能检查一下远程机器上是否安装了phpunit吗?
  • 感谢您的关注。情况真的很简单。我有一个 Symfony2.0 项目在我的本地 Apache 服务器上运行良好。我使用 PHP 5.3.2 上传到主机,它只是在尝试使用浏览器访问 URL 时给出了该错误。我在机器的 php.ini 中没有看到与 PHPUnit 有任何关系...我应该在那里看到一些关于它的东西吗?。
  • 这是完整的错误:[Mon Oct 08 11:42:50 2012] [error] [client 94.126.240.2] PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found in /home/prepparatest/ www/Symfony/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php 第 24 行

标签: php symfony phpunit


【解决方案1】:

好的,解决了。

我从我的捆绑包中删除了所有测试和测试文件夹。那些只是打算用 Symfony 执行单元测试的……但我的产品显然没有安装 PHPUnit。

非常感谢

【讨论】:

    【解决方案2】:

    通常不会将测试脚本放到生产服务器上。但是,如果您确实需要在那里运行测试,并且测试依赖于 phpUnit(他们这样做),那么您需要在该服务器上安装 phpUnit。请参阅http://phpUnit.de/ 以获取下载安装说明。

    您显然已经在本地安装了 phpUnit(无论您是否知道)。也许它与您使用的任何捆绑包/发行版一起包含在您的 PHP 安装中。

    【讨论】:

    • 完美!谢谢。现在......我如何从生产中取出“我的测试”? Symfony 中有什么可以这样做的吗?我坚持:不意味着我在本地或远程开发或安装了任何测试。它只是在 Symfony 捆绑包中。我如何至少在生产中禁用该测试?再次感谢
    猜你喜欢
    • 2014-03-13
    • 2019-09-22
    • 1970-01-01
    • 2011-08-29
    • 2018-10-14
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多