Неужели интенсивное использование модульных тестов препятствует использованию утверждений отладки? Кажется, что отключение отладки в тестируемом коде подразумевает, что unit test не должно существовать или отладочное утверждение не должно существовать. "Может быть только один", кажется разумным принципом. Это обычная практика? Или вы отключите свои отладочные утверждения при модульном тестировании, чтобы они могли быть интегрированы для тестирования интеграции?
Изменить: я обновил "Assert" для отладки assert, чтобы отличить утверждение в тестируемом коде от строк в unit test, которое проверяет состояние после запуска теста.
Также приведен пример, который, как я считаю, показывает дилемму: A unit test передает недопустимые входы для защищенной функции, которая утверждает, что входы действительны. Если unit test не существует? Это не публичная функция. Возможно, проверка входных данных приведет к уничтожению перфоратора? Или, если утверждение не существует? Функция защищена не конфиденциальной, поэтому она должна проверять ее на входы для обеспечения безопасности.