#php #phpunit
#php #phpunit
Вопрос:
У меня есть эта папка с упражнениями, в которой я получил инструкции по установке веб-приложения:
Итак, эта папка содержит .sh
файл, который устанавливает необходимые вещи:
npm install
curl -o phpunit -L https://phar.phpunit.de/phpunit-7.phar
chmod x phpunit
./phpunit --version
Таким образом, в основном это добавляет файл, вызываемый phpunit
внутри корневой папки. Итак, пока я вроде понимаю, что происходит, поэтому это устанавливает зависимости узлов, а также устанавливает phpunit (я так думаю), но в этом проекте есть модуль тестового примера:
<?php
declare(strict_types=1);
use PHPUnitFrameworkTestCase;
final class HelloWorldTest extends TestCase
{
public function testWhenGetDataFromHelloWorld(): void
{
$this->assertEquals('Hello World', 'Hello World');
}
}
На данный момент я не понимаю, как это use PHPUnitFrameworkTestCase;
работает, поскольку у меня нет папки с именем PHPUnit, я понимаю, что это что use
-то вроде импорта класса, но все же, как это работает (когда я запускаю тест, он не выдает мне никаких ошибок)?, также,похоже, что vscode обнаруживает импорт как ошибку, потому что кажется, что его не существует.
Мое дерево файлов выглядит следующим образом:
Может кто-нибудь объяснить мне, пожалуйста?
Комментарии:
1. Вероятно, оно было включено композитором в вашу папку поставщиков. Прочитайте о автозагрузке PSR-4 . Если вы не используете composer, вы должны, но это может сработать, потому что ваша IDE включает PHPUnit.
2. @AlexBarker У меня нет папки поставщика.
3. @AlexBarker Зависимости устанавливаются с помощью node (внутри «node_modules»), node запускает php-сервер, и я не использую никакой IDE, я использую только редактор кода.
Ответ №1:
Это потому, что все зависимости находятся в phpunit-7.phar
файле, который был назван phpunit
этим скриптом.
«Самый простой способ получить PHPUnit — загрузить архив PHP (PHAR), в котором все необходимые (а также некоторые дополнительные) зависимости PHPUnit собраны в одном файле».
Комментарии:
1. Хорошо, я понял, так что это работает при запуске phpunit как
php phpunit [options]