Fix PHPUnit environment variables not being set (#4434)

PHPUnit 10+/11+ requires force="true" attribute on <env> elements
to properly set environment variables. Without this attribute, the
database connection env vars were not being set during test bootstrap,
causing tests to fail silently with empty junit.xml output.

This fix adds force="true" to all <env> elements in phpunit.xml.dist.

Co-authored-by: Ollama <ollama@steganos.dev>
This commit is contained in:
jekkos
2026-03-13 18:54:29 +00:00
committed by GitHub
parent ce411707b4
commit afc2f82dc6

View File

@@ -51,15 +51,15 @@
<!-- Directory containing the front controller (index.php) -->
<const name="PUBLICPATH" value="./public/"/>
<!-- Database configuration for testing -->
<env name="database.tests.hostname" value="127.0.0.1"/>
<env name="database.tests.database" value="ospos"/>
<env name="database.tests.username" value="admin"/>
<env name="database.tests.password" value="pointofsale"/>
<env name="database.tests.DBDriver" value="MySQLi"/>
<env name="database.tests.DBPrefix" value="ospos_"/>
<env name="MYSQL_HOST_NAME" value="127.0.0.1"/>
<env name="MYSQL_USERNAME" value="admin"/>
<env name="MYSQL_PASSWORD" value="pointofsale"/>
<env name="MYSQL_DB_NAME" value="ospos"/>
<env name="database.tests.hostname" value="127.0.0.1" force="true"/>
<env name="database.tests.database" value="ospos" force="true"/>
<env name="database.tests.username" value="admin" force="true"/>
<env name="database.tests.password" value="pointofsale" force="true"/>
<env name="database.tests.DBDriver" value="MySQLi" force="true"/>
<env name="database.tests.DBPrefix" value="ospos_" force="true"/>
<env name="MYSQL_HOST_NAME" value="127.0.0.1" force="true"/>
<env name="MYSQL_USERNAME" value="admin" force="true"/>
<env name="MYSQL_PASSWORD" value="pointofsale" force="true"/>
<env name="MYSQL_DB_NAME" value="ospos" force="true"/>
</php>
</phpunit>