PHP中基于属性的测试?

Posted

技术标签:

【中文标题】PHP中基于属性的测试?【英文标题】:Property based testing in PHP? 【发布时间】:2011-08-27 01:27:58 【问题描述】:

在各种更基于函数的语言中,有一些工具(如Quickcheck)允许property based testing。

如何在 php 中进行基于属性的测试?

我希望能够指定 PHP 方法的输入和输出属性,并运行覆盖测试。

【问题讨论】:

“Quickcheck-style”在哪方面?当然有 PHP 的单元测试框架,但是您对 Quickcheck 的哪些功能特别感兴趣? Deceze,我添加了更多描述。有关 Haskell 快速检查的更多信息:haskell.org/haskellwiki/Introduction_to_QuickCheck 说真的,如何这是“离题”? 【参考方案1】:

目前有两个库在 PHP 中提供基于属性的测试功能:

Eris 这是一个 PHP 端口,基于 Haskell 的快速检查 PhpQuickCheck 是一个基于 clojure.test.check 的 PHP 端口。

Eris 可与开箱即用的 PHPUnit 生态系统完美配合。

PhpQuickCheck 可以独立工作,但也可以与PhpUnit 结合使用,它是@dataprovider 功能。有an example of this in the repository。

【讨论】:

@Kyll 感谢您的编辑...看来我在那里忘记了什么 :-)【参考方案2】:

你可以试试 Faker 库:https://github.com/fzaninotto/Faker。它不会为您进行测试,但它非常适合生成随机数据。

【讨论】:

以上是关于PHP中基于属性的测试?的主要内容,如果未能解决你的问题,请参考以下文章

何时使用基于属性的测试?

如果随机生成的输入没有用,我如何重新尝试基于属性的测试?

php Behat测试checkout css属性

这个 php 脚本是不是仍可用于使用 APNs 发送测试推送通知? [基于证书的连接]

如何使用 FsCheck 生成随机数作为基于属性的测试的输入

基于docker容器环境下的php/swoole/golang 性能小测试