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

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


Тести цього треку використовують пакет testthat.

Щоб встановити пакет, просто відкрийте R і виконайте:

install.packages("testthat")

Переконатися, що пакет успішно встановлено, можна так:

library(testthat)

Для кожної вправи є скрипт із назвою test_<exercise-name>.R (наприклад, test_hello-world.R).

Щоб запустити тести для вправи, просто виконайте цей R-скрипт.

У RStudio для цього достатньо відкрити тестовий скрипт і натиснути «Source» у правому верхньому куті панелі Source. Так код рішення завантажиться через команду source у першому рядку тестового скрипта, а потім виконається набір тестів testthat, що йдуть далі.

Однак варто памʼяти, що команда source() у першому рядку тестового скрипта буде працювати лише тоді, коли скрипт рішення (<exercise-name>.R) лежить у робочому каталозі. Якщо це не так, потрібно або:

  • змінити робочий каталог, наприклад setwd('exercism/r/hello-world/'), або
  • оновити перший рядок тестового скрипта, наприклад source('exercism/r/hello-world/hello-world.R')

За бажанням можна також запустити тести з командного рядка за допомогою Rscript path_to_exercise_directory/test_<exercise-name>.R (наприклад, Rscript hello-world/test_hello-world.R).

Ще один зручний спосіб запустити ці тести - скористатися функцією auto_test з testthat. Оскільки код і тести Exercism розташовані в одній теці, вкажіть цей самий шлях для обох параметрів, code_path і test_path. Після запуску auto_test() тести для вправи будуть виконуватися автоматично щоразу, коли ми оновлюємо або зберігаємо код R для цієї вправи. Це сприяє швидкій ітерації під час роботи над рішенням.