تست در مسیر 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 خود را برای تمرین به‌روزرسانی یا ذخیره کنید، تست‌های تمرین به‌طور خودکار اجرا می‌شوند. این کار می‌تواند به تکرار سریع در حین کار روی راه‌حل شما کمک کند.