Dmitrii
#php
Для любителей изучать новые вещи, могу предложить заняться добавлением примеров опкодов для доки при наведении на опкод:
- Открываете сборник опкодов
- Клонируете определение опкода в плагине
- Описываете его назначение и примеры: пхп + опкоды
Готовые опкоды можно взять отсюда, остальные придется искать / изучать исходники
👩💻 Ссылка на файл, в который нужно добавлять
👩💻 Ссылка на php-src со списком последних опкодов
Для любителей изучать новые вещи, могу предложить заняться добавлением примеров опкодов для доки при наведении на опкод:
- Открываете сборник опкодов
- Клонируете определение опкода в плагине
- Описываете его назначение и примеры: пхп + опкоды
Готовые опкоды можно взять отсюда, остальные придется искать / изучать исходники
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Forwarded from Mikhail Savin
Rector-правило для соблюдения AAA паттерна в тестах
По результатам моего опроса почти половина разработчиков пользуются этим паттерном при написании тестов, но я лично периодически забываю "отбивать" секции комментами
Теперь можно делегировать это Rector'у - добавил правило EnforceAaaPatternRector.
Оно просто вставляет комментарии (и удаляет старые, если они неверно расположены), например:
Если же ваши тесты изначально не структурированы под это, то будут мисплейсы. Например, если вы делаете запрос, ассерты на него, потом новый запрос и новые ассерты (так часто тестят валидацию/авторизацию).
Надеюсь, правило поможет сделать такие нарушения более явными на кодревью
По результатам моего опроса почти половина разработчиков пользуются этим паттерном при написании тестов, но я лично периодически забываю "отбивать" секции комментами
Теперь можно делегировать это Rector'у - добавил правило EnforceAaaPatternRector.
Оно просто вставляет комментарии (и удаляет старые, если они неверно расположены), например:
public function testFoo(): void
{
// Arrange
$date = new DateTimeImmutable('2025-01-01');
// Act
$formatted = $date->format('Y-m-d');
// Assert
self::assertEquals('2025-01-01', $formatted);
}
Если же ваши тесты изначально не структурированы под это, то будут мисплейсы. Например, если вы делаете запрос, ассерты на него, потом новый запрос и новые ассерты (так часто тестят валидацию/авторизацию).
Надеюсь, правило поможет сделать такие нарушения более явными на кодревью
Telegram
msavin
Используете AAA (arrange-act-assert/given-when-then) при тестировании?
да / нет / не пишу тесты
да / нет / не пишу тесты
🤔3👍2👎1