Дізнайтеся, як тестувати вправи з C на Exercism
Кожна вправа надає модульні тести й рецепт збірки для Make. Реалізацію пишемо ми.
Кожен тестовий файл призначений для компонування з нашою реалізацією, щоб утворити консольний виконуваний файл, який запускає тести. Запуск виконуваного файлу з тестами виводить повідомлення про кожен тест, що не пройшов, і повертає ненульовий код завершення, коли тести не проходять.
Щоб пропрацювати вправу:
TEST_IGNORE().Кожна вправа містить файл makefile разом із файлом .c з модульними тестами.
Редагувати файл Make, найімовірніше, не доведеться.
Наданий файл Make припускає, що реалізація складається із заголовного файлу (.h) і файлу з кодом (.c), названих за іменем вправи.
Наприклад, вправа bob приймає реалізацію у bob.h і bob.c.
У вправах із дефісами в назві файли з кодом, як передбачається, уживають підкреслення, тож word-count приймає word_count.h і word_count.c.
Можна вирішити, що реалізація досить проста й цілком поміщається в заголовному файлі, і тоді файл .c можна опустити.
Створюємо початкові файли реалізації до запуску Make.
Якщо під час запуску Make для вправи bob файлів bob.h і bob.c немає, Make видасть помилку про те, що файлів не знайдено.
Ці файли можуть бути порожніми, але вони мусять існувати.
Найпростіший спосіб зібрати код - скористатися командою make у командному рядку (CLI).
У Linux CLI доступний у bash чи подібних оболонках, у MacOS скористаймося Terminal.
У Windows 10 доступний Bash із Windows Subsystem for Linux (WSL).
Щоб це зробити, вважаємо, що поточний каталог і є каталогом вправи:
$ make
Це скомпілює код і запустить тести.
У makefile також є збірка, яка перевіряє деякі типові помилки: витік памʼяті та вихід за межі масиву.
Щоб запустити ці перевірки, введімо в командному рядку таку команду:
$ make memcheck
Щоб прибрати після збірки, можна попросити make видалити всі результати збірки, разом із виконуваним файлом:
$ make clean
На MacOS можна також скористатися Xcode. Щоб зібрати код, виберімо Build у панелі інструментів.