Regex 在test_包中使用filter参数跳过测试

Regex 在test_包中使用filter参数跳过测试,regex,r,cran,testthat,Regex,R,Cran,Testthat,我想在R CMD check期间运行包单元测试,但跳过需要internet连接的测试。按照惯例,所有需要internet的单元测试的文件名中都有network 因此,我的run all.R包含: library(testthat) test_package("mypackage", filter="^((?!network).)*$") 但是,这会产生一个无效的正则表达式错误。如何指定filter参数,使其运行每个单元测试,但其中包含单词network的单元测试除外?使用invert参数: t

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

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

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

但是,这会产生一个
无效的正则表达式
错误。如何指定
filter
参数,使其运行每个单元测试,但其中包含单词
network
的单元测试除外?

使用
invert
参数:

test_package("mypackage", filter="network", invert=TRUE)
invert
参数最终通过
..
参数通过
test\u check
->
run\u tests
->
test\u dir
->等从
测试\u dir
转发到
grepl

…:传递给“grepl”以控制筛选的其他参数


我没有(谢谢),但我真的不想
CMD check
依赖外部服务器(不仅仅是连接),你知道
not\u-CRAN
envvar吗?它只在
devtools
中工作,对吗?是的,但你也可以自己设置。我认为,如果没有只有perl引擎支持的消极前瞻断言,就无法表达您想要的内容。