На главную

Модульное тестирование при реализации быстрой сортировки

19-04-2022

Продолжаю делать воркшопы про модульное тестирование. Материал был подготовлен давно, но по разным мне не удавалось его записать и опубликовать. Сейчас я ещё пару раз прогнал воркшоп и, наконец, сделал запись.

Широко распространено мнение, что модульные тесты хорошо подходят для тестирования бизнес-логики, а вот классические (запутанные) алгоритмы тестам не поддаются. Я решил опровергнуть это убеждение, реализовав быструю сортировку в соответствии с подходом TDD — сначала разрабатывая тесты, а потом код.

Помимо всего прочего слово Driven из Test Driven Development намекает, что проектирование кода упрощается. Тесты ведут разработку, поэтому мы точно понимаем, что делать дальше, даже если реализуем запутанный алгоритм.

Проверим на практике, так ли это.

Код и есты в этом уроке написаны на Rust. Моя слабость — изучать и применять интересные, но, может быть, редкие языки. На следующем уроке мы снова напишем quicksort, но уже на Java.

Код, написанный в воркшопе, лежит здесь.