在test_package中使用filter参数跳过测试

时间:2014-03-26 23:29:43

标签: regex r cran testthat

我想在R CMD check期间运行我的包单元测试,但跳过需要互联网连接的测试。按照惯例,所有需要互联网的单元测试都在其文件名中包含单词network

因此我的run-all.R包含:

library(testthat)
test_package("mypackage", filter="^((?!network).)*$")

然而,这会导致invalid regular expression错误。如何指定filter参数,使其运行每个单元测试,除了其中包含单词network的单元测试?

1 个答案:

答案 0 :(得分:0)

使用invert参数:

test_package("mypackage", filter="network", invert=TRUE)

invert参数最终通过grepl参数通过...转发到test_check - > run_tests - > test_dir - >来自?test_dir

  

...:传递给'grepl'以控制过滤的其他参数。