问题描述
当前,我正在研究多个UnitTest,并且我的测试还包含模拟。 为了“传递”我函数的函数部分,我从testthat包中应用了local_mock()函数。
但是,有几个函数需要应用local_mock函数。 它们具有不同的结构,但参数数量相同。
.apply_local_mock = function(Function,File){
local_mock(Function = function(Argument1,Argument2,Argument3) {
result = .readCsv(file.path(targetPath,"Input",paste(File))) %>%
return(result)
})
}
local_mock将应用于的两个函数的示例:
CalcProfitability <- function(IncomeStatement,BalanceSheet,Months){
result = (12/Months) * (IncomeStatement / BalanceSheet)
return(result)
}
CalcDiffDivByPl <- function(BalanceSheetCY,BalanceSheetPY,IncomeStatement){
result = (BalanceSheetCY - BalanceSheetPY) / IncomeStatement
return(result)
}
所以模拟测试代码如下:
.apply_local_mock(CalcProfitability,"CalcProfitability.csv")
.apply_local_mock(CalcDiffDivByPl,"CalcDiffDivByPl.csv")
但是我收到以下错误:
Error: Function FunctionName not found in environment testthat.
任何人都可以建议如何在新函数中包括local_mock()函数吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)