Класс Symfony \ Bundle \ FrameworkBundle \ Test \ WebTestCase не найден

Я создал свежий проект Symfony 4.1.x, но когда я пытаюсь создать и выполнить функциональный тест, я получаю сообщение об ошибке:

PHP Fatal error: Class 'Symfony\Bundle\FrameworkBundle\Test\WebTestCase' not found in /home/tomasz/my_project/tests/ExampleControllerTest.php on line 7

Действия по воспроизведению:

  1. Создать проект

    composer create-project symfony/skeleton my_project

  2. Установите phpunit, компоненты функциональных тестов и конструктор для генерации скелета функционального теста.

    composer req --dev symfony/phpunit-bridge symfony/css-selector symfony/browser-kit symfony/maker-bundle

  3. Создать пример функционального теста

    bin/console make:functional-test ExampleControllerTest

Содержание созданного файла:

<?php

namespace App\Tests;

use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;

class ExampleControllerTest extends WebTestCase
{
    public function testSomething()
    {
        $client = static::createClient();
        $crawler = $client->request('GET', '/');

        $this->assertSame(200, $client->getResponse()->getStatusCode());
        $this->assertContains('Hello World', $crawler->filter('h1')->text());
    }
}
  1. Провести тесты

    bin/phpunit

Вывод (после установки зависимостей phpunit):

PHP Fatal error: Class 'Symfony\Bundle\FrameworkBundle\Test\WebTestCase' not found in /home/tomasz/my_project/tests/ExampleControllerTest.php on line 7

Я проверил, есть ли класс Symfony\Bundle\FrameworkBundle\Test\WebTestCase в vendor/. Какие-нибудь подсказки?

phpunit.xml.dist

<?xml version = "1.0" encoding = "UTF-8"?>

<!-- https://phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation = "http://schema.phpunit.de/6.5/phpunit.xsd"
         backupGlobals = "false"
         colors = "true"
         bootstrap = "vendor/autoload.php"
>
    <php>
        <ini name = "error_reporting" value = "-1" />
    </php>

    <testsuites>
        <testsuite name = "Project Test Suite">
            <directory>tests</directory>
        </testsuite>
    </testsuites>

    <filter>
        <whitelist>
            <directory>src</directory>
        </whitelist>
    </filter>

    <listeners>
        <listener class = "Symfony\Bridge\PhpUnit\SymfonyTestsListener" />
    </listeners>
</phpunit>

Не могли бы вы опубликовать содержимое вашего файла phpunit.xml.dist?

Chris 14.11.2018 11:14

@Chris вопрос обновлен

Tomasz 14.11.2018 11:16

Посмотрите документацию, особенно часть о классе WebTestCase, symfony.com/doc/current/testing.html#your-first-functional-t‌ est. (<env name = "KERNEL_CLASS" value = "App \ Kernel" /> в блоке php)

Chris 14.11.2018 11:57

@Chris Я сделал это, но это не решает проблему

Tomasz 14.11.2018 12:12

@Chris, это подтверждено и помечено как ошибка - я сделал отчет о проблеме в репозитории symfony / symfony @ github.com/symfony/symfony/issues/29215

Tomasz 14.11.2018 12:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
4
5
2 466
0

Другие вопросы по теме