phpunit.xml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
  4. bootstrap="vendor/autoload.php"
  5. colors="true"
  6. >
  7. <testsuites>
  8. <testsuite name="Unit">
  9. <directory>tests/Unit</directory>
  10. </testsuite>
  11. <testsuite name="Feature">
  12. <directory>tests/Feature</directory>
  13. </testsuite>
  14. </testsuites>
  15. <source>
  16. <include>
  17. <directory>app</directory>
  18. </include>
  19. </source>
  20. <!--
  21. 每个 env 都必须带 force="true":php artisan test 会先 bootstrap Laravel 加载 .env,
  22. 此时 .env 的值已被 putenv 到真实环境。PHPUnit 12 的 <env> 默认 force=false,
  23. 遇到已存在的环境变量会跳过,导致这里的值全部被 .env 抢占(测试实际连到了
  24. 开发库 wikipali 而非 mint_test)。
  25. -->
  26. <php>
  27. <env name="APP_ENV" value="testing" force="true"/>
  28. <env name="APP_MAINTENANCE_DRIVER" value="file" force="true"/>
  29. <env name="BCRYPT_ROUNDS" value="4" force="true"/>
  30. <env name="BROADCAST_CONNECTION" value="null" force="true"/>
  31. <env name="CACHE_STORE" value="array" force="true"/>
  32. <!--
  33. 迁移文件含 Postgres 专有语句(CREATE EXTENSION "uuid-ossp" 等),无法在 sqlite 上跑,
  34. 故测试也走 pgsql。DB_DATABASE 必须固定为独立的测试库:RefreshDatabase 会清空目标库,
  35. 指向开发库会直接毁掉数据。
  36. -->
  37. <env name="DB_CONNECTION" value="pgsql" force="true"/>
  38. <env name="DB_DATABASE" value="mint_test" force="true"/>
  39. <env name="DB_URL" value="" force="true"/>
  40. <env name="MAIL_MAILER" value="array" force="true"/>
  41. <env name="QUEUE_CONNECTION" value="sync" force="true"/>
  42. <env name="SESSION_DRIVER" value="array" force="true"/>
  43. <env name="PULSE_ENABLED" value="false" force="true"/>
  44. <env name="TELESCOPE_ENABLED" value="false" force="true"/>
  45. <env name="NIGHTWATCH_ENABLED" value="false" force="true"/>
  46. </php>
  47. </phpunit>