Ich habe ein Laravel 9 (9.52.16)-Projekt (auch auf neueren Versionen getestet) mit einem benutzerdefinierten API-Authentifizierungsablauf. Um eine Anfrage zu stellen, müssen Sie zunächst ein init_token erhalten. Dies kann durch Aufrufen des /init-Pfads mit einer store_id und einem api_token erreicht werden. Die API prüft, ob das api_token zur richtigen store_id gehört und gibt ein Init-Token zurück. Dann wird ein neues generiert, sodass es nicht wiederverwendet werden kann. Ich habe zwei Datenbanken. Eine normale und eine Testversion. Darin befindet sich eine Tabelle namens „Stores“, in der diese Datensätze gespeichert werden. Sie sind im Wesentlichen Kopien voneinander, abgesehen davon, dass die api_token-Felder unterschiedlich sind.
Alles läuft in Docker-Containern mit WSL (mit Lando zum Verwalten von Containern)
Ich habe eine separate .env.testing-Datei in meinem Projekt, um eine Verbindung zur Testdatenbank herzustellen. In phpunit 9.6.19 habe ich auch die folgenden Umgebungen in phpunit.xml festgelegt
Code: Select all
//testing store
Code: Select all
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
[*]
Code: Select all