Behat тестирует с утверждениями PHPUnit - PullRequest
0 голосов
/ 16 апреля 2020

У меня был проект в symfony 4.3, который использует PHPUnit Bridge 5.0, и я хочу использовать функции assert в функциональных тестах (смотрите). В более старом проекте я использовал пакет PHPUnit и с помощью require_once включил эти функции в класс Context behat следующим образом:

require_once __DIR__.'/../../vendor/phpunit/phpunit/src/Framework/Assert/Functions.php';

Но у PHPUnit Bridge был этот класс по этому пути:

require_once __DIR__.'/../../bin/.phpunit/phpunit-7.5-0/src/Framework/Assert/Functions.php';

Вместо измените это, если я попытаюсь запустить тесты, это не проходит со следующей ошибкой:

  Fatal error: Class 'PHPUnit\Framework\Assert' not found (Behat\Testwork\Call\Exception\FatalThrowableError)

Эта ошибка вызвана первым использованием внутри функций. php класс, который является:

use PHPUnit\Framework\Assert;

Но этот класс существует, потому что я могу go ему вручную. Я ищу в Интернете некоторые ответы, которые могут быть полезны в этой ситуации, но ни один из них не работает. Я должен был попытаться использовать:

use PHPUnit_Framework_Assert as Assertions;
// Class which implement that what I need exist too in namespace PHPUnit\Framework with name Assert 
use PHPUnit\Framework\Assert as Assertions; 

Что я сделал не так ?? Спасибо за любую помощь.

1 Ответ

0 голосов
/ 22 апреля 2020

Я нашел решение. Если у кого-то есть такая же проблема, просто установите компонент phpunit / phpunit и игнорируйте предупреждения от PHPUnitBridge. Затем используйте его в следующем виде:

use PHPUnit\Framework\Assert as Assertions;
...