gpt4 book ai didi

r - 来自 testthat 的函数 expect_that 遇到错误

转载 作者:行者123 更新时间:2023-12-04 23:48:36 26 4
gpt4 key购买 nike

谁能帮我解释为什么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))

关于r - 来自 testthat 的函数 expect_that 遇到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28266954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com