EasyTest是一个用于单元和属性测试的简单测试工具包。它基于刺猬特性测试系统。下面是一个用法示例:
模块Main,其中导入EasyTest进口合格的刺猬。Gen作为Gen进口合格的刺猬。范围作为范围套件::测试套件=测试[scope“addition.ex1”$unitTest$1+1==2,scope“addition.ex2”$unitTest$2+3===5,范围“list.reverse”$property$dons<-表示全部$发电机列表(范围单10)(发电机范围常量有界)反向(反向ns)===ns--等同于`scope“addition.ex3”`,范围“添加”。scope“ex3”$unitTest$3+3===6,scope“总是通过”$unitTest成功--记录成功结果,scope“失败测试”$crash“噢,不!”]--注意:“运行套件”将运行所有测试,但我们只运行--范围前缀为“addition”的测试main::IO摘要main=runOnly“添加”套件
这将生成输出:
━━━ 仅运行“添加”✓ addition.ex1通过了1项测试。✓ addition.ex2通过了1项测试。⚐ list.reversal在1次弃牌后放弃,通过了0次测试。✓ addition.ex3通过了1项测试。⚐ 总是通过在1次放弃后放弃,通过0次测试。⚐ 失败的测试在1次放弃后放弃,通过了0次测试。⚐ 3人放弃,3人成功。
我们用普通的Haskell代码编写测试,控制流是显式的,并且在程序员的控制下。