Если бы вы разрабатывали свой тестовый фреймворк, как бы вы организовали его без использования рефлексии?

Без рефлексии тесты можно регистрировать явно как имена и делегаты. Runner вызывает их, ожидает завершения, фиксирует исключения и формирует отчёт.

Короткий ответ

Что ответить на собеседовании

Без рефлексии тесты можно регистрировать явно как имена и делегаты. Runner вызывает их, ожидает завершения, фиксирует исключения и формирует отчёт.

Подробный разбор

Ответ с пояснениями

Без рефлексии тесты можно регистрировать явно как имена и делегаты. Runner вызывает их, ожидает завершения, фиксирует исключения и формирует отчёт.

Например, реестр хранит пары string name и Func<Task> test. Параметризованные случаи превращаются в отдельные регистрации с замкнутыми входными данными; синхронный тест можно обернуть в делегат, возвращающий Task.CompletedTask.

Нужны setup/teardown через try/finally, изоляция кейсов и понятные результаты. Source generator может создавать реестр на этапе компиляции вместо runtime-discovery. Таймаут ожидания сам по себе не останавливает зависший код; для жёсткой изоляции нужен отдельный процесс.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее