スクリプトの最後のステートメントとして関数呼び出しを含む R スクリプトで個々の関数をテストしようとしています。つまり、R コードは次のとおりです。
mul.R
#!/usr/bin/env Rscript
mul <- function(n, m) {
prod <- n * m
return (prod)
}
mul(4,5)
テストスクリプトは次のとおりです。
test_simpleProgram.R
#!/usr/bin/env Rscript
library('RUnit')
source("./../simpleProgram.R")
test.mul <- function() {
checkEqualsNumeric(mul(n= 2,m= 3), 4)
}
次のコマンドを使用してテスト スクリプトを実行します。
runTestFile(absFileName= file.path("test_simpleProgram.R"))
ここで、テストしたいRスクリプトをソースすると、つまりmul.R
、最後のステートメントがすでにmul
関数を呼び出しているため、スクリプト全体が実行され、テストスクリプトが関数を再度実行します。これにより、最初の実行 ( によるsource(..)
) がテスト目的で不要になります。
テストスクリプトでスクリプトをソースするときにスクリプトを実行せずに、そのようなスクリプトをテストする方法はありますか?