我一直在编写代码来创建一个并行的 lapply() 类型函数,该函数使用 Amazon 的 Elastic Map Reduce 引擎作为处理的“网格”(是的,它是一个没有减速器的映射器)。在我得到稳定的代码后,我会将它抽象为一个 foreach 后端。但首先我需要构建测试来测试我拥有的代码。
这个函数有什么好的测试用例?
我现在的规范测试用例如下:
myList <- NULL
set.seed(1)
for (i in 1:10){
a <- c(rnorm(999), NA)
myList[[i]] <- a
}
outputLocal <- lapply(myList, mean, na.rm=T)
outputEmr <- emrlapply(myList, mean, myCluster, na.rm=T)
all.equal(outputEmr, outputLocal)
这个测试用例确保可选参数na.rm=T
正确地传递给远程机器。我可以使用哪些其他测试用例?我目前不支持simplify
或USE.NAMES
争论,尽管我会在未来。