测试软件QuickCheck是否有R端口?

测试软件QuickCheck是否有R端口?,r,perl,testing,quickcheck,testthat,R,Perl,Testing,Quickcheck,Testthat,现在我发现自己花了这么多时间在R中编程,我真的很想回到自动化测试(我习惯用Perl来做)。除了用户友好之外,我还对能够为Perl或Haskell之类的测试生成随机输入特别感兴趣。对于R,是否有类似的功能?请参阅R软件包 与Test::electrotest类似,R包quickcheck是一个端口,Koen Claessen和John Hughes为Haskell编写了该端口 除了快速检查功能外,QuickCheck还有意加入了hadleywickam的“期望”函数(他们称之为“断言”),从而认可

现在我发现自己花了这么多时间在R中编程,我真的很想回到自动化测试(我习惯用Perl来做)。除了用户友好之外,我还对能够为Perl或Haskell之类的测试生成随机输入特别感兴趣。对于
R
,是否有类似的功能?

请参阅R软件包

Test::electrotest
类似,R包
quickcheck
是一个端口,Koen Claessen和John Hughes为Haskell编写了该端口

除了快速检查功能外,
QuickCheck
还有意加入了hadleywickam的“期望”函数(他们称之为“断言”),从而认可了hadleywickam流行的R包。除了数字和字符串测试外,还有故障和警告测试等

下面是一个使用它的简单示例:

library(quickcheck)

my_square <- function(x){x^2}        # the function to test

test( function(x = rinteger())  min(my_square(x)) >= 0 )
# Pass  function (x = rinteger())  
#  min(my_square(x)) >= 0 
# [1] TRUE

test( function(x = rdouble())
      all.equal(
                my_square(x),
                x^2
      )
)
# Pass  function (x = rdouble())  
#  all.equal(my_square(x), x^2) 
# [1] TRUE
库(快速检查)
我的(平方=0)
#传递函数(x=rinteger())
#最小值(我的平方(x))>=0
#[1]是的
测试(函数(x=rdouble())
一律平等(
my_square(x),
x^2
)
)
#传递函数(x=rdouble())
#全部相等(我的平方(x),x^2)
#[1]是的
第一个测试确保由
my_square
生成的任何内容都是正的。第二个测试实际上复制了
my_square
的功能,并检查每个输出以确保其正确

请注意,
rinteger()
生成由整数值组成的任意长度的向量。其他随机生成的输入数据可以使用诸如
rcharacter
rdouble
rmatrix
等函数生成



在此快速检查开发。请随时联系反馈、bug等。断言是这些事情的常规CS术语。在统计学中,期望是一个很重要的术语,因此在我看来,毫无疑问,我们应该坚持使用既定的术语。