Befund aus 151 echten Rücklaeufern: 2 SmarterMail-DSNs (message/global-delivery-status) und 2 Freitext-Hinweise des eigenen Relays (X-KASMail-Error, formal auto-replied) fielen durch. Policy- und Quota-Codes zaehlen weich statt hart. Abruf ohne UNSEEN-Filter, weil das Verschieben die Zustandsmarke ist. Dazu Schutz in tests/TestCase.php: Suite bricht ab, wenn ein Config-Cache sie auf die Dev-Datenbank umlenkt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
27 lines
936 B
PHP
27 lines
936 B
PHP
<?php
|
|
|
|
namespace Tests;
|
|
|
|
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
|
|
use RuntimeException;
|
|
|
|
abstract class TestCase extends BaseTestCase
|
|
{
|
|
/**
|
|
* Schutz vor einem gecachten `bootstrap/cache/config.php`: Der überlagert
|
|
* die phpunit.xml-Umgebung, die Suite läuft dann gegen die Dev-Datenbank
|
|
* aus der .env — und `RefreshDatabase` leert sie (passiert am
|
|
* 15.09.2026, 3 GB Bestandskopie weg). Lieber laut abbrechen.
|
|
*/
|
|
protected function setUp(): void
|
|
{
|
|
parent::setUp();
|
|
|
|
if (config('database.default') !== 'sqlite' || config('database.connections.sqlite.database') !== ':memory:') {
|
|
throw new RuntimeException(sprintf(
|
|
'Tests laufen gegen „%s“ statt SQLite :memory: — vermutlich liegt ein Config-Cache. `php artisan config:clear` und erneut starten.',
|
|
config('database.default'),
|
|
));
|
|
}
|
|
}
|
|
}
|