【发布时间】:2021-11-16 17:32:18
【问题描述】:
我创建了一个包含函数的包,在本例中是 myfunction(argument1, argument2),它只需要与参数长度相同的正输入。我想使用 testthat 包中的函数来测试输入的格式是否正确。 这里的重点是我想测试输入是否有资格成为函数的参数?
我有类似的东西:
test_that("myfunction works", {
input1 <- c(200, -220, 250)
input2 <- c(30, 40, 50)
myfunction(input1, input2)
expect_equal(length(input1), length(input2))
})
现在我想测试我的所有参数 (input1, input2) 是否只包含正数。我怎么能那样做? 我实际上试过这个:
expect_true(input1[] > 0)
expect_true(input2[] >0)
和
expect_gt(input1[], 0)
expect_gt(input2[], 0)
但随后收到错误消息:
Error: Result of comparison must be a single logical value
似乎 expect_...() 系列函数仅适用于单个值而不是向量或数据框?关于我应该尝试什么的任何建议?
【问题讨论】:
-
测试输入毫无意义,因为您无法控制用户将要做什么