我得到一个错误,因为testthat::matches
冲突与dplyr::matches
,我想知道如何使用testthat::test_file
检查其包含对matches()
通话功能,而无需在函数体中指定dplyr::matches
testthat包。dplyr上有冲突时,比赛用
例如为:
> testthat::test_file('tmp_fn_testthat_test.R')
Attaching package: ‘testthat’
The following object is masked from ‘package:dplyr’:
matches
The following object is masked from ‘package:purrr’:
is_null
Show Traceback
Rerun with Debug
Error in -matches("tmp") : invalid argument to unary operator In addition: Warning message:
package ‘testthat’ was built under R version 3.2.5
DONE =========================================================================================================================================
这个错误可以通过保存在你的工作目录名为tmp_fn_testthat_test.R
文件下面的代码,并运行该命令testthat::test_file('tmp_fn_testthat_test_20161115.R')
转载。请注意,采购或运行expect_equal
命令,而未加载testthat
会使测试通过。
tmp_fn <- function() {
tmp_df <- data.frame(tmp_a = 1, tmp_b = 2)
tmp_df %>%
select(-matches('tmp')) %>%
ncol
}
testthat::expect_equal(tmp_fn(), 0)
我理解,但我的问题这里是我明确地尝试不用通过在'testthat ::'前面加载所有测试来加载'testthat',这样如果我输入文件,测试就可以工作。无论什么原因,当你运行'testthat :: test_file'时,它坚持加载包。 – Alex