来自测试的函数 expect_that 遇到错误
function expect_that from testthat runs into error
任何人都可以帮助我并解释为什么如果 []
添加到停止消息中 expect_that
不起作用,即 f1
起作用但 f2
不起作用.
library(testthat)
f1 <- function(x){
if( x >= 1 ){
stop("error 1")
}
}
expect_that(f1(x=1.4), throws_error("error 1"))
f2 <- function(x){
if( x >= 1 ){
stop("error [1]")
}
}
expect_that(f2(x=1.4), throws_error("error [1]"))
expect_that
正在寻找 正则表达式 来匹配错误,因此您需要转义方括号,以便按字面解释而不是将其解释为模式定义:
expect_that(f2(x=1.4), throws_error("error \[1\]"))
似乎有效。
或者您可以指定 fixed=TRUE
:
expect_that(f2(x=1.4), throws_error("error [1]", fixed = TRUE))
任何人都可以帮助我并解释为什么如果 []
添加到停止消息中 expect_that
不起作用,即 f1
起作用但 f2
不起作用.
library(testthat)
f1 <- function(x){
if( x >= 1 ){
stop("error 1")
}
}
expect_that(f1(x=1.4), throws_error("error 1"))
f2 <- function(x){
if( x >= 1 ){
stop("error [1]")
}
}
expect_that(f2(x=1.4), throws_error("error [1]"))
expect_that
正在寻找 正则表达式 来匹配错误,因此您需要转义方括号,以便按字面解释而不是将其解释为模式定义:
expect_that(f2(x=1.4), throws_error("error \[1\]"))
似乎有效。
或者您可以指定 fixed=TRUE
:
expect_that(f2(x=1.4), throws_error("error [1]", fixed = TRUE))