了解如何在 Exercism 上測試你的 R 練習。
這個 track 的測試會使用testthat套件。
安裝這個套件的方式很簡單,只要打開 R 並執行:
install.packages("testthat")
你可以執行下面這行指令,確認套件是否安裝成功:
library(testthat)
每道練習都會有一個名為test_<exercise-name>.R的腳本(例如test_hello-world.R)。
要執行某道練習的測試,只要執行這個 R 腳本即可。
在 RStudio 裡,你只要打開測試腳本,點選原始碼面板右上角的「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)
另一個方便的測試執行方式,是利用testthat 的auto_test函式。由於 Exercism 的程式碼和測試都放在同一個資料夾,code_path和test_path這兩個參數請填相同的路徑。執行auto_test()之後,每次你更新或儲存練習的 R 程式碼,就會自動執行該練習的測試。這可以幫助你在解題時快速疊代。