[英]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()
生成一个由整数值组成的任意长度的向量。 可以使用rcharacter
, rdouble
和rmatrix
等函数生成其他随机生成的输入数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.