ClockMock — это часть phunit-bridge, который отлично работал с Phpunit 8. Сейчас 2025 год, а текущая версия Phpunit — 11.
Эта проблема с документацией Symfony (#20344 (github.com)) подсказывает мне, что эта функция теперь должна работать и с Phpunit версии 10 или выше при условии, что вы используете phpunit-bridge 7.2
Конфигурация моего проекта:
- symfony: 6.4
php: 8.2 - phpunit/phpunit: 10.5.41
- symfony/phpunit-bridge: 7.2.0
Код: Выделить всё
В моем тесте код выглядит следующим образом:
< pre class="lang-php Prettyprint-override">
Код: Выделить всё
class CompanyNameHelperTest extends TestCase
{
public function testGetCompanyNameByIdPast(): void
{
ClockMock::register(CompanyNameHelper::class);
ClockMock::withClockMock(true);
ClockMock::withClockMock(strtotime('2018-11-05 01:00:00'));
$myDate = (new DateTimeImmutable(date('Y-m-d H:m:s')));
$companyId = 1;
$this->assertEquals(
'ACME KG, Hamburg',
CompanyNameHelper::getCompanyNameById($companyId, $myDate)
);
ClockMock::withClockMock(false);
}
Каков правильный способ использовать ClockMock в Phpunit версии 10 и выше?
Подробнее здесь: https://stackoverflow.com/questions/793 ... phpunit-10
Мобильная версия