Я пишу новую команду ремесленника, которую не хочу запускать, если конфигурация кэширована (через config:cache
):
class NewCommand extends Command
{
public function handle()
{
if (app()->configurationIsCached())
{
$this->error('Configuration is cached. Unable to run command');
return 1;
}
}
}
Я пытаюсь написать модульный тест, чтобы покрыть это,однако это терпит неудачу:
public function test_command_not_run_if_config_cached()
{
App::shouldReceive('configurationIsCached')
->once()
->andReturn(true);
$this->artisan('new:command')
->expectsOutput('Configuration is cached. Unable to run command');
->assertExitCode(1);
}
результат: Method configurationIsCached() from Mockery_0_Illuminate_Foundation_Application should be called exactly 1 times but called 0 times
Есть ли другой способ посмеяться над тем, что конфигурация кэшируется в модульном тесте?