Тестування на треку Rust

Дізнайтеся, як тестувати свої вправи з Rust на Exercism


Пишемо код у src/lib.rs. До вправ додається файл-заготовка src/lib.rs, який покаже нам сигнатури коду, який потрібно написати.

У більшості вправ увесь код краще писати в одному файлі src/lib.rs. Якщо рішення потрібно розділити на кілька файлів, варто зазирнути до розділу про модулі із книги про Rust.

Запуск тестів

Щоб запустити тести, достатньо виконати таку команду:

$ cargo test

Типово ввімкнено лише перший тест. Коли будемо готові пройти наступний тест, знімаємо з нього позначку ignore (#[ignore]). За бажанням можна зняти цю позначку одразу з усіх тестів.

Можна писати якнайменше коду, аби тести проходили. Звіти про невдалі тести підкажуть, що писати далі.

Оскільки Rust перевіряє весь код під час компіляції, тести можуть не компілюватися, доки ми не напишемо потрібний код. Навіть тести, позначені ignore, перевіряються під час компіляції. Тести, які не компілюються, можна закоментувати, почавши кожен рядок із //. А коли буде час попрацювати над цим тестом, його можна розкоментувати. У Rust також є спеціальний макрос todo!(), який можна використати на незавершених ділянках коду, щоб програма скомпілювалася.

Використання бібліотек

Більшість вправ можна розвʼязати без жодних зовнішніх бібліотек. Утім, бібліотеки можна додавати (спільнота Rust називає їх crates), виконавши cargo add crate-name у каталозі вправи.

Автоматичні тести на сайті підтримують лише наперед визначений набір crates, який можна знайти тут у розділі [dependencies]. Щоб підтримку конкретного crate додали, можна відкрити issue або pull request.