繁体   English   中英

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

[英]Is there an R port of the testing software QuickCheck?

现在我发现自己在R中花了这么多时间编程,我真的想回到自动化测试(我在Perl中学习了习惯)。 除了是用户友好的,我也将是能够产生像Perl的测试随机输入特别感兴趣Test::LectroTest或Haskell的快速检查 R有什么类似的吗?

请参阅GitHub上的R包quickcheck

Test::LectroTest的R包quickcheck是一个端口快速检查 ,其中公园Claessen的和约翰·休斯写道Haskell的。

除了QuickCheck功能之外, quickcheck还通过有意识地结合他的“期望”功能(他们称之为“断言”)来向Hadley Wickam的流行testthat 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

第一个测试确保my_square生成的任何内容都是正数。 第二个测试实际上复制了my_square的功能并检查每个输出以确保它是正确的。

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


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM