Я проводил незначительные юнит-тесты в разные моменты своей карьеры. Всякий раз, когда я начинаю погружаться в это снова, меня всегда беспокоит, как доказать, что мои тесты верны. Как я могу сказать, что в моем модульном тесте нет ошибки? Обычно я запускаю приложение, доказываю, что оно работает, а затем использую модульный тест как своего рода регрессионный тест. Каков рекомендуемый подход и / или как вы подходите к этой проблеме?
Редактировать: Я также понимаю, что вы могли бы написать небольшие, детальные модульные тесты, которые было бы легко понять. Однако, если вы предполагаете, что небольшой гранулярный код безупречен и пуленепробиваем, вы можете просто написать небольшие гранулированные программы и не нуждаться в модульном тестировании.
Edit2: Для аргументов «модульное тестирование предназначено для того, чтобы убедиться, что ваши изменения ничего не нарушают» и «это произойдет только в том случае, если тест имеет тот же недостаток, что и код», что, если тест переходит? С плохим тестом можно пройти как хороший, так и плохой код. Мой главный вопрос в том, что хорошего в модульном тестировании, поскольку, если ваши тесты могут быть ошибочными, вы не сможете реально повысить свою уверенность в своем коде, не сможете доказать, что ваш рефакторинг сработал, и не можете доказать, что вы соответствуете спецификации? 1005 *