RUnitの使い方メモ
単体テストというものの有難味が分かり始めた。Rでの単体テストフレームワークであるRUnitの使い方をメモる。
テスト駆動開発なので、まずはテストを書く。
test.func1 <- function(){ checkEquals(func1(), 1, "func1 : NG") } test.func2 <- function(){ checkEquals(func2(), 2, "func2 : NG") }
これを、runit-funcs.rとして保存。関数名とファイル名は、RUnitの関数がテストコードを認識するために重要。
次に、関数を実装。
func1 <- function(){ 1 } func2 <- function(){ 3 # test will fail }
これを適当な名前で保存。最後に、テストの実行コード。
library(RUnit) source("funcs.r") test.dir <- getwd() suite <- defineTestSuite("runit sample", test.dir) result <- runTestSuite(suite) printTextProtocol(result, showDetails = TRUE)
defineTestSuite でテストスイートを定義。runTestSuite でテスト実行。テストスイートは、
を持っている。デフォルトでは、
となっているが、 defineTestSuite の引数で変更出来る。