Один из подходов - попытаться ускорить отражение вызовов.Учитывая, что для достижения этой цели вы полагаетесь на низкоуровневое оборудование, я не вижу здесь большой надежды.
Другой подход заключается в том, чтобы оплатить стоимость, но оплачивать ее следует только тогда, когда тестирование снова необходимо.(Если вы не изменяете тестируемый код, вам не нужно тестировать его снова).
Наш C # инструмент для охвата тестов может отслеживать отношения между (абстрактные тесты)) и проверенный код.Он может определить необходимость повторного запуска (абстрактного) теста, изучив его охват по отношению к измененному коду, который он определяет путем сравнения файлов кода на уровне методов.Если есть пересечение, вам нужно снова запустить (абстрактный) тест.В противном случае вы можете просто пропустить эти тесты и любые дорогостоящие накладные расходы («отражения»), которые они могут содержать.
Ласковые слова «абстрактный тест» просто означают, что вы определяете, какой набор тестовых операций соответствует обнаруживаемой повторно проверяемой единице;Вы можете решить отслеживать каждый модульный тест или группировать их другими удобными способами.В идеале вы хотите получить лучшие тесты для анализа зерна, которые вы можете получить, чтобы минимизировать реальное повторное тестирование;иногда лучше просто объединить группу тестов.