Infection довольно круто инструменты для проведения мутационных тестов: если тесты проходят, то библиотека меняет исходных код и запускает ваши тесты заново.
Работает здорово, становится всё быстрее, но нет поддержки в IDE.
Я сделал плагин для запуска Infection и раскраски текста в редакторе в красный с обозначением что за тест упал.
Однако, более логичным было бы сделать инструменты как для запуска PHPUnit/Codeception.
Они не делают отдельных интеграций, а используют формат TeamCity для логирования в stdout. Этот лог кушает IDEA, вырезает (для удобства чтения) и строит по нему дерево тестов и их ошибки.
Вот для Infection такого логгера сейчас нет.
Автор сделает, но ближе к концу недели скорее всего.
Если у вас есть силы и желание законтрибьютить в Infection, то переходим по ссылке и хватаем тикет.
https://github.com/infection/infection/issues/2446
TeamCity: https://www.jetbrains.com/help/teamcity/2025.07/service-messages.html#Nested+Test+Reporting
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
TeamCity formatter · Issue #2446 · infection/infection
Original discussion in #2437 TeamCity format should write to an output service messages, which service message follows the rules The best way to follow the following output format: ##teamcity[<m...
👍4🔥4
Dmitrii
Есть задачка посложнее.
Нужно добавить поддержку игнорирования мутаторов:
- infection-ignore-next-line
- infection-disable
Пример:
👩💻 https://github.com/infection/infection/issues/1231
Нужно добавить поддержку игнорирования мутаторов:
- infection-ignore-next-line
- infection-disable
Пример:
/** @infection-disable GreaterThan */
while ($a > $b) {
}
@infection-ignore-all уже реализована, поэтому можно взять за референс.Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Exclude certain lines or sections of code from MT not excluding them from coverage · Issue #1231 · infection/infection
Implementation status @infection-ignore-all on statement level, ignores all and every mutation in a node and below (#1468) @infection-ignore-next-line on line level, same as above but only for spec...
👍2
Forwarded from Пых (Валентин Удальцов)
Каждый, кто пишет на Golang, наверняка слышал про NATS. Это платформа для обмена сообщениями, состоящая из двух основных частей: Core NATS (publish-subscribe с at-most-once гарантией и request-reply) и JetStream (персистентные стримы а-ля Kafka).
Мы написали новый неблокирующий драйвер для NATS под PHP, который поддерживает все основные возможности платформы:
• publish-subscribe,
• request-reply,
• jetstream,
• key-value хранилище,
• объектное хранилище,
• атомарные счётчики на основе CRDT,
• пакетная публикация,
• планировка сообщений.
composer require thesis/nats
$nats = new Nats\Client(Nats\Config::default());
$nats->subscribe('foo.*', static function (Nats\Delivery $delivery): void {
dump("Received message: {$delivery->message->payload}");
});
$nats->publish('foo.bar', new Nats\Message('Hello World!'));
Текущий релиз — 0.2.0, но некоторые уже используют драйвер в продакшне! К мажору шлифанём по мелочи и добавим поддержку NATS Service.
GitHub | Thesis Community | nats.io
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - thesis-php/nats: Non-blocking (fiber based) client for Nats.
Non-blocking (fiber based) client for Nats. Contribute to thesis-php/nats development by creating an account on GitHub.
🔥8🤨2❤1
Forwarded from Danil Shutsky
Сегодня состоялся релиз open-source админки MoonShine v4!
Вкратце по нововведениям рассказывается (и показывается) в этом промо-ролике:
https://youtu.be/3BXkf6WYEJ8
А вечером в 19:00 (мск) будет прямой эфир, где автор (Данил Щуцкий) всё подробно расскажет! Из основного:
- новый дизайн и вёрстка
- генератор палитр для MoonShine - создавать цветовые схемы теперь просто
- TailwindCSS обновлён до версии 4
- новая архитектура
- FortyFive - AI-powered инструмент для быстрой разработки админок на базе MoonShine
- и многое другое!
11 ноября в 19:00 (мск) на CutCode!
https://www.youtube.com/live/ynKqr9zxDzk?si=1aulrPoZ_hpH-clI
Вкратце по нововведениям рассказывается (и показывается) в этом промо-ролике:
https://youtu.be/3BXkf6WYEJ8
А вечером в 19:00 (мск) будет прямой эфир, где автор (Данил Щуцкий) всё подробно расскажет! Из основного:
- новый дизайн и вёрстка
- генератор палитр для MoonShine - создавать цветовые схемы теперь просто
- TailwindCSS обновлён до версии 4
- новая архитектура
- FortyFive - AI-powered инструмент для быстрой разработки админок на базе MoonShine
- и многое другое!
11 ноября в 19:00 (мск) на CutCode!
https://www.youtube.com/live/ynKqr9zxDzk?si=1aulrPoZ_hpH-clI
YouTube
Промо MoonShine v4
Ну что, коллеги!
Вот и настал день релиза MoonShine v4! Действительно получился крутой релиз с новыми современными возможностями и интеграцией AI.
Всё покажу в прямом эфире, всё обсудим подробно! Из основного:
- новый дизайн и вёрстка
- генератор палитр для…
Вот и настал день релиза MoonShine v4! Действительно получился крутой релиз с новыми современными возможностями и интеграцией AI.
Всё покажу в прямом эфире, всё обсудим подробно! Из основного:
- новый дизайн и вёрстка
- генератор палитр для…
🔥17
True Async PHP
Edmond Dantes призывает всех к обсуждению особенностей реализации нашумевшего True Async RFC.
Если вы делаете фреймворки или библиотеки, которые работают (или хотелось бы) с асинхронностью; пишите на других языках с поддержкой асинхронности и параллелизма или просто хотите что-то добавить дельного, то заходите в обсуждение.
Чем быстрее закроются все вопросы, опасения и корнер кейсы, тем быстрее PHP начнет нагинать Go!
Цитата Edmond’а:
👩💻 https://github.com/true-async/php-true-async-rfc/discussions/8
Edmond Dantes призывает всех к обсуждению особенностей реализации нашумевшего True Async RFC.
Если вы делаете фреймворки или библиотеки, которые работают (или хотелось бы) с асинхронностью; пишите на других языках с поддержкой асинхронности и параллелизма или просто хотите что-то добавить дельного, то заходите в обсуждение.
Чем быстрее закроются все вопросы, опасения и корнер кейсы, тем быстрее PHP начнет нагинать Go!
Цитата Edmond’а:
Итак господа все желающие, приглашаю вас к обсуждению. На текущем этапе считаем, что никакого RFC не было. В теме ключевой вопрос. Он видимо и будет обсуждаться ближайшее время.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Memory model and its impact on refactoring · true-async · Discussion #8
Memory model and its impact on refactoring At this stage of the discussion, I propose focusing on one of the three main questions. 🔑 Key Questions 1. Choosing the Coroutine Model How coroutines sho...
🔥10👍6❤1👾1