php - 在 Symfony2 项目中找不到类 'PHPUnit_Framework_TestCase'

标签 php symfony phpunit

我正在 symfony2 中开发一个项目,我是单元测试的新手。

我已经通过 PEAR 安装了 PHPUnit 3.6.10,当我输入 phpunit 命令时它可以从终端运行。

我按照 SensioLab 的建议 (http://symfony.com/doc/current/book/testing.html) 编写了我的第一个测试类,但是当我使用命令时

php -c app src/My/CalendarBundle/Tests/Calendar/CalendarTest.php 

我得到了

Fatal error: Class 'PHPUnit_Framework_TestCase' not found in /Library/WebServer/Documents/calendar/src/My/CalendarBundle/Tests/Calendar/CalendarTest.php on line 7

这是我的测试类:

<?php
namespace My\CalendarBundle\Tests\Calendar;

use My\CalendarBundle\Calendar\Calendar;

class CalendarTest extends \PHPUnit_Framework_TestCase
{
    public function testGetNextMonth()
    {
        $calendar = new Calendar('09', '2012', null);        
        $result = $calendar->getNextMonth();

        $this->assertEquals(10, $result);
    }
}

我阅读了这个讨论 Why, Fatal error: Class 'PHPUnit_Framework_TestCase' not found in ...?但是 symfony 文档没有说要包含 PHPUnit...

我做错了什么? 谢谢

最佳答案

我刚刚遇到了类似的问题(与 DoctrineFixturesBundle),并通过将 PHPUnit 添加到 Symfony(而不是通过 PEAR 安装 PHPUnit)解决了这个问题。

对我有用的是:

1) 添加"phpunit/phpunit": "4.0.*"composer.jsonrequire部分:

{
    "require": {
        ...
        "phpunit/phpunit": "4.0.*"
    }
}

2) 从命令行运行:

php composer.phar update phpunit/phpunit

关于php - 在 Symfony2 项目中找不到类 'PHPUnit_Framework_TestCase',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12900916/

相关文章:

javascript - php获取未选中复选框的值

javascript - 如何配置 apache 以使用 php 创建 javascript 文件

javascript - Font Awesome 图标下拉

symfony - 我自己的登录表单上的 CSRF token 无效

php - 使用 AJAX 将参数发送到 php Controller 的最佳方法

php - 问一下php summarize 01 + 01 = 02

php - SQLSTATE[HY000] [2002] :schema:create 时不是目录

tdd - 如何测试kohana模型、 Controller

php - 确定将在 php 中发送的 http 状态

PHP 方法模拟检查传递给该方法的参数