<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>QuickCheck on PlumePHP</title><link>https://plumephp.com/tags/quickcheck/</link><description>Recent content in QuickCheck on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Sun, 27 Sep 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/quickcheck/index.xml" rel="self" type="application/rss+xml"/><item><title>属性测试实战：用不变式与自动生成让测试拥有无限边界</title><link>https://plumephp.com/property-based-testing/</link><pubDate>Sun, 27 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/property-based-testing/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;传统用例测试是在&amp;quot;回答几个已知的问题&amp;quot;，属性测试则是在&amp;quot;让机器自己生成成千上万个问题&amp;quot;。&lt;/strong&gt; 你只描述一段代码&amp;quot;必须永远满足的性质&amp;quot;（invariant），工具随机生成数据去攻击它——一旦发现违反性质的输入，自动缩小到最小反例交给你。测试的边界从此不再由你的想象力决定。&lt;/p&gt;</description></item><item><title>Clojure 生成式测试实战：test.check、收缩与 spec 集成</title><link>https://plumephp.com/clojure-property-testing/</link><pubDate>Sat, 26 Sep 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/clojure-property-testing/</guid><description>&lt;p&gt;传统单元测试验证「几个手写的示例」，而&lt;strong&gt;生成式测试&lt;/strong&gt;（Property-Based Testing）验证的是&lt;strong&gt;程序的数学性质&lt;/strong&gt;：输入由生成器随机产生，断言「对所有满足条件的输入，输出都满足某个性质」。Clojure 的 &lt;strong&gt;test.check&lt;/strong&gt; 源自 Haskell QuickCheck 思想，配合 &lt;strong&gt;clojure.spec&lt;/strong&gt; 可以自动从 spec 派生生成器，是发现边界缺陷、回归漏洞的最强工具之一。&lt;/p&gt;</description></item></channel></rss>