PHPUnitでのテスト中に限り、キャッシュを有効にしたり、Mockを使ったりしたいケースは多いと思います。
その場合、phpunit.xmlに下記のような記述を加えます。
<phpunit>
<php>
<env name="PHPUNIT" value="true"/>
<php>
</phpunit>
あとはif文で判定します。
<?php
use PHPUnit\Framework\TestCase;
class isTestingTest extends TestCase {
function isTesting() : bool {
return (@$_ENV['PHPUNIT'] == true);
}
function testIsTesting() {
# テスト中にisTestingがtrueになることを確認
$this->assertTrue($this->isTesting());
# 環境変数をunsetした場合、判定がfalseになることを確認
unset($_ENV['PHPUNIT']);
$this->assertFalse($this->isTesting());
}
}