CakePhp2 -php8 - тесты с Phpunit ^9,5Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 CakePhp2 -php8 - тесты с Phpunit ^9,5

Сообщение Anonymous »

Я использую версию CakePhp2-Php8 этой структуры, которую можно найти на этом GitHub < /p>
Если кто-то может мне помочь, у меня возникнут проблемы с тестированием Phpunit. Пожалуйста, поправьте меня, если я делаю что -то не так, но
Когда я пытаюсь запустить тесты на торты, я нашел несколько проблем. Давайте используем команду из Doc CakePhp: < /p>

Код: Выделить всё

Console/cake test app AllTests

выпуск 1. Cake/testSuite/CaketStSuitedIspatcher.php Метод LoadTestFrameWork . Проблема заключается в том, что метод пытается проверить, существует ли класс с старым пространством имен phpunit в имени класса с подчеркиванием phpunit_framework_testcase . То есть для старых версий фпунита (например, 4.*) < /P>

Код: Выделить всё

line 152 - if (class_exists('PHPUnit_Framework_TestCase')) {...

он работает, когда я заменяю старую классную имену Места Phpunit ClassNames написаны ОК с новым пространством имен. Итак, проблема заключается в том миксе, где некоторые файлы используют новое пространство имен с именем класса, а некоторые файлы используют старый стиль
Мне нужно было заменить все старые пространства имен на новое (примерно 65 раз внутри 13 файлов)
Вот Список файлов:

Выпуск 2. Чем я отредактировал свой поставщик/phpunit Я удалил окончательный префикс в этих классах:

Код: Выделить всё

Class CakeTestLoader cannot extend final class PHPUnit\Runner\StandardTestSuiteLoader in lib/Cake/TestSuite/CakeTestLoader.php

Class CakeTestRunner cannot extend final class PHPUnit\TextUI\TestRunner in lib/Cake/TestSuite/CakeTestCase.php
Выпуск 3. [/b]

, чем я получаю ошибку для объявления метода, которое не совместимо с расширенными методами класса Phpunit внутри торта/testsuite/ Caketestcase.php :

Код: Выделить всё

Declaration of CakeTestCase::setUp() must be compatible with PHPUnit\Framework\TestCase::setUp()

Declaration of CakeTestCase::tearDown() must be compatible with PHPUnit\Framework\TestCase::tearDown()
Здесь я также исправляю phpunit \ framework \ testcase instde vendor/phpunit .

после того, как я исправлю все 3 проблемы, моя команда для тестирования работает теперь приложение консоли/тестирования торта AllTests .
Я думаю, что это не правильный способ сделать, потому что я Внесенные изменения в файлы основных фреймворков, а также изменения внутри каталога поставщика/phpunit.>

Подробнее здесь: https://stackoverflow.com/questions/782 ... hpunit-9-5
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»