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引擎支持的消极前瞻断言,就无法表达您想要的内容。