我正在尝试在 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(..)
这使得测试目的不需要第一次执行(由于)。
有没有办法测试这样的脚本,而不是在测试脚本中获取脚本时运行脚本?