testthat:处理警告和值

Ste*_*len 8 r testthat

处理生成警告然后还返回值的调用的最佳方法是什么?

例如

> require(testthat)
> expect_warning(log(-1))
> expect_equal(log(-1), NaN)
Warning message:
In log(-1) : NaNs produced
Run Code Online (Sandbox Code Playgroud)

我想编写测试,以便对log(-1)的调用应该(a)生成警告和(b)返回值NaN.上面的方法有效,但在底部看到"警告信息:"可能会让人感到困惑.我应该暂时禁止警告吗?

Bro*_*ieG 12

require(testthat)
expect_warning(val <- log(-1))
expect_true(is.nan(val))
Run Code Online (Sandbox Code Playgroud)