модульное тестирование — фатальная ошибка: класс ‘PHPUnit_Framework_TestCase’ не найден в dbunit \ PHPUnit \ Extensions \ Database \ TestCase.php в строке 24

Я хочу написать тесты для базы данных MySQL. Когда я пытаюсь расширить расширение базы данных, это дает мне вышеуказанную ошибку в заголовке:

class FixtureTestCase extends PHPUnit_Extensions_Database_TestCase

Примечание: я установил PHPUnit глобально, и я могу получить к нему доступ через phpunit в cmd. У меня последний PHPUnit 4.5.1.

Я также установил Dbunit глобально через composer:

composer global require phpunit/dbunit

Любая помощь будет высоко ценится. Я использовал PHP 5.4.

1

Решение

Для ссылки на классы, расположенные в глобальном пространстве имен, вы можете просто поставить перед ними обратную косую черту (\).
Попробуйте с этим:

class FixtureTestCase extends \PHPUnit_Extensions_Database_TestCase

С обратной косой чертой (\) PHP знает, что мы имеем в виду PHPUnit_Extensions_Database_TestCase класс в глобальном пространстве имен, и найти его.

Больше информации Вот

Надеюсь, это поможет.

3

Другие решения

Это может быть просто версия DBUnit. Например я использую PHPUnit 4.8 и это работает с DBUnit 1.4,

У меня была ошибка выше, когда я использовал композитор с "phpunit/dbunit": ">=1.2" и я закончил с DBUnit 2.0.

0

Проверь свою БД как? Через API вы создали или прямой доступ к БД? Я бы порекомендовал вам написать API для доступа к вашей БД, а затем написать тесты для API.
например, если вы хотите вставить пользователя, который вы называете адресом своего веб-сервера (localhost: 3000) или чем-то, что у вас есть, а затем вызываете / users через POST, чтобы вставить и проложить маршруты к нему.
Я бы предложил использовать LARAVEL для этого.

-3
По вопросам рекламы [email protected]