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

What is the difference between expect_is and expect_type of the testthat package?

R 包 testthat 包含两个我认为相似的函数来测试对象是否属于某种类型(整数、字符等):expect_is()expect_type() .这两个函数有什么区别?文档指出 expect_is() 是一种较旧的形式,但是 expect_type() 呢?也许您可以提供一些示例,说明何时使用一个而不是另一个。

expect_is 测试 class,expect_type 测试类型。文档解释说 expect_type 与 R 的基本函数 typeof 的输出进行比较,expect_isclass.

的输出进行比较

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

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

查看 typeofclass 的帮助以获取更多信息,大多数 R 的介绍应该讨论类型和 classes。

另请参阅 modestorage.mode