2

当我运行命令php ApiControllerTest.php时,它显示了这个错误:

Liip\FunctionalTestBundle\Test\WebTestCase' 在第 12 行的 C:\wamp\www\test\src\TestTask\PhotosBundle\Tests\Controller\ApiControllerTest.php 中找不到

我的作曲家如下:

"require-dev": {
    "sensio/generator-bundle": "~2.3",
    "symfony/phpunit-bridge": "~2.7",
    "hautelook/alice-bundle": "^1.1",
    "doctrine/doctrine-fixtures-bundle": "^2.3",
    "liip/functional-test-bundle": "^1.4",
    "phpunit/phpunit": "^4.8",
    "helmich/phpunit-json-assert": "^1.0

我的文件appkernel如下;

if (in_array($this->getEnvironment(), array('dev', 'test'))) {
    $bundles[] = new Acme\DemoBundle\AcmeDemoBundle();
    $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
    $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
    $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
    $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
    $bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();
    $bundles[] = new Hautelook\AliceBundle\HautelookAliceBundle();
    $bundles[] = new Liip\FunctionalTestBundle\LiipFunctionalTestBundle();

我的测试控制器如下;我看不出问题出在哪里;一切都包括在这里,

<?php

namespace TestTask\PhotosBundle\Tests\Controller;

use Helmich\JsonAssert\JsonAssertions;
use Liip\FunctionalTestBundle\Test\WebTestCase;
use Symfony\Component\BrowserKit\Client;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\HttpFoundation\Response;

class ApiControllerTest extends WebTestCase
{
    use JsonAssertions;

    public function testPostInvalidPhoto()
    {
        $client = static::createClient();
        $client->request(
            'POST',
            '/photos',
            array(
                'tags' => array(
                    'ololo',
                    'trololo',
                )
            ),
            array('image' => $this->getFile(__FILE__)),
            array('HTTP_Accept' => 'application/json')
        );

当我使用命令运行它时:phpunit -c app/phpunit.xml.dist 或 php vendor/bin/phpunit -c app/phpunit.xml.dist 它显示我无法识别 phpunit

4

1 回答 1

1

当我运行命令时 php ApiControllerTest.php

这会失败,因为您必须启动PHPUnit 而不是直接执行测试类。

您必须按照官方文档phpunit中的建议使用命令运行测试。

这应该可以使用以下命令之一(当前目录必须是 Symfony 项目的根目录):

phpunit -c app/phpunit.xml.dist src/TestTask/PhotosBundle/Tests/Controller/ApiControllerTest.php
# or
php vendor/bin/phpunit -c app/phpunit.xml.dist src/TestTask/PhotosBundle/Tests/Controller/ApiControllerTest.php

如果要启动所有测试而不是此特定文件,则可以删除最后一个参数。

于 2016-04-18T15:08:32.557 回答