<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Property-Testing on PlumePHP</title><link>https://plumephp.com/tags/property-testing/</link><description>Recent content in Property-Testing on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Sat, 26 Sep 2026 14:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/property-testing/index.xml" rel="self" type="application/rss+xml"/><item><title>Elixir 测试工程：ExUnit 深入、属性测试与 Mock 策略</title><link>https://plumephp.com/elixir-testing-property/</link><pubDate>Sat, 26 Sep 2026 14:00:00 +0800</pubDate><guid>https://plumephp.com/elixir-testing-property/</guid><description>&lt;p&gt;测试是 Elixir 生态中最被认真对待的实践之一：BEAM 的进程隔离天然适合并发测试，ExUnit 内置异步执行与随机化，Ecto 提供 Sandbox 事务隔离，StreamData 带来基于生成的属性测试。更重要的是，Elixir 的函数式与不可变特性让「注入依赖、验证行为」变得极其自然——Mock 不需要魔法框架，一个参数就能完成。本文将深入 ExUnit 的高级用法、StreamData 属性测试、Mox 契约式 Mock，以及生产级测试的组织与隔离策略。&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>