作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道在 R 中是否可以使用 testthat
测试框架来设置对平等的容忍度。
目前,如果 example.R
是:
library(testthat)
three_times<-function(x) 3*x
context('Test three_times')
test_that('Three times returns 3 times x',{
expect_equal(three_times(3),9)
expect_equal(three_times(pi),9.4247)
})
test_file('example.R','stop')
执行,第一个测试通过,但第二个失败:
Error: Test failed: 'Three times returns 3 times x'
Not expected: three_times(pi) not equal to 9.4247
Mean relative difference: 8.271963e-06.
最佳答案
您可以传递参数 scale
或 tolerance
.这些参数被传递给 all.equal
.
expect_equal(three_times(pi),9.4247, tolerance=1e-8)
Error: three_times(pi) not equal to 9.4247
Mean relative difference: 8.271963e-06
expect_equal(three_times(pi),9.4247, tolerance=1e-3)
?all.equal
寻求更多帮助
关于r - 如何在testthat框架中设置expect_equal的容差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25463475/
我是一名优秀的程序员,十分优秀!