ClockMock является частью phunit-bridge, который отлично работал с phpunit 8. Сейчас 2024 год, а текущая версия phpunit — 11.
Эта страница github https://github.com/symfony/symfony-docs/issues/20344 предполагает, что эта функция теперь должна работать и с 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
Мобильная версия