testthat包的expect_is和expect_type有什么区别?

时间:2018-02-07 07:42:50

标签: r testthat

R包testthat包含两个我会说类似的函数来测试对象是否属于某种类型(整数,字符等):expect_is()expect_type()。这两个功能有什么区别?该文档指出expect_is()是旧格式,但expect_type()怎么办?也许你可以提供一些关于何时使用其中一个的例子。

1 个答案:

答案 0 :(得分:4)

expect_is测试该类,expect_type测试该类型。该文档说明expect_type与R的基函数typeof的输出进行比较,expect_isclass的输出进行比较。

因此,如果我创建一个整数矩阵,它的类型为“integer”,类为“matrix”:

> typeof(matrix(1:10,2,5))
[1] "integer"
> class(matrix(1:10,2,5))
[1] "matrix"
> 

有关详细信息,请参阅typeofclass的帮助,R的大多数介绍都应讨论类型和类。

另请参阅modestorage.mode