处理生成警告但又返回值的调用的最佳方法是什么?
e.g。
> require(testthat)
> expect_warning(log(-1))
> expect_equal(log(-1), NaN)
Warning message:
In log(-1) : NaNs produced
我想编写测试,以便对log(-1)的调用应该(a)生成警告并且(b)返回值NaN。上面的方法有效,但在底部看到“警告信息:”可能会让人感到困惑。我应暂时禁止警告吗?
答案 0 :(得分:11)
require(testthat)
expect_warning(val <- log(-1))
expect_true(is.nan(val))