У меня есть проект Laravel 9 (9.52.16) (также протестированный на более новых версиях) с собственным потоком аутентификации API. Чтобы сделать запрос, вам необходимо сначала получить init_token. Это можно получить, вызвав путь /init с store_id и api_token. API проверяет, принадлежит ли api_token правильному store_id, и возвращает токен инициализации. Затем он генерирует новый, поэтому его нельзя использовать повторно. У меня есть две базы данных. Обычный и тестовый. Внутри них находится таблица под названием «магазины», в которой хранятся эти записи. По сути, они являются копиями друг друга, за исключением того, что поля api_token различны.
Все работает в контейнерах докеров с использованием WSL (с использованием Lando для управления контейнерами)
В моем проекте есть отдельный файл .env.testing для подключения к базе данных тестирования. В phpunit 9.6.19 у меня также есть следующие envs в phpunit.xml
Код: Выделить всё
//testing store
Код: Выделить всё
backupGlobals="false"
backupStaticAttributes="false"
bootstrap="vendor/autoload.php"
colors="true"
cacheResult="true"
executionOrder="depends"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
stopOnError="false"
stopOnFailure="false"
stopOnIncomplete="false"
stopOnSkipped="false"
stopOnRisky="false"
cacheResultFile="tests/logs/.phpunit.result.cache"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
./app
tests/Unit/EmployeeTest.php
./tests/Feature
./tests/Integration
tests/Feature/Acc
[*]
Код: Выделить всё
Подробнее здесь: [url]https://stackoverflow.com/questions/79371341/custom-phpunit-testcase-does-not-recognize-env-testing-in-my-laravel-project[/url]