<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>第11章 编写自动化测试 on 编程那些事儿</title><link>https://before80.github.io/prgms/Rust/trpl/testing/</link><description>Recent content in 第11章 编写自动化测试 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 11 Aug 2026 23:57:44 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Rust/trpl/testing/index.xml" rel="self" type="application/rss+xml"/><item><title>11.1 如何编写测试</title><link>https://before80.github.io/prgms/Rust/trpl/testing/01-writing-tests/</link><pubDate>Wed, 05 Aug 2026 08:44:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/trpl/testing/01-writing-tests/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/stable/book/"&gt;The Rust Programming Language&lt;/a&gt;（rustc 1.97.1）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="如何编写测试"&gt;如何编写测试&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/stable/book/ch11-01-writing-tests.html"&gt;https://doc.rust-lang.org/stable/book/ch11-01-writing-tests.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="how-to-write-tests"&gt;如何编写测试&lt;/h2&gt;
&lt;p&gt;　　&lt;em&gt;测试&lt;/em&gt;是验证非测试代码是否按预期工作的 Rust 函数。测试函数的函数体通常执行这三步：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;准备所需的任何数据或状态。&lt;/li&gt;
&lt;li&gt;运行要测试的代码。&lt;/li&gt;
&lt;li&gt;断言结果符合预期。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;　　我们来看看 Rust 专门为编写执行这些操作的测试所提供的特性，包括 &lt;code&gt;test&lt;/code&gt; 属性、若干宏，以及 &lt;code&gt;should_panic&lt;/code&gt; 属性。&lt;/p&gt;</description></item><item><title>11.2 控制测试的运行方式</title><link>https://before80.github.io/prgms/Rust/trpl/testing/02-running-tests/</link><pubDate>Wed, 05 Aug 2026 08:44:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/trpl/testing/02-running-tests/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/stable/book/"&gt;The Rust Programming Language&lt;/a&gt;（rustc 1.97.1）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="控制测试的运行方式"&gt;控制测试的运行方式&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/stable/book/ch11-02-running-tests.html"&gt;https://doc.rust-lang.org/stable/book/ch11-02-running-tests.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="控制测试的运行方式-1"&gt;控制测试的运行方式&lt;/h2&gt;
&lt;p&gt;　　正如 &lt;code&gt;cargo run&lt;/code&gt; 会编译代码再运行生成的二进制，&lt;code&gt;cargo test&lt;/code&gt; 会以测试模式编译代码并运行生成的测试二进制。&lt;code&gt;cargo test&lt;/code&gt; 生成的二进制的默认行为是：并行运行所有测试，并捕获测试运行期间产生的输出，使其不显示出来，从而更容易阅读与测试结果相关的输出。不过，你可以通过命令行选项改变这些默认行为。&lt;/p&gt;</description></item><item><title>11.3 测试组织</title><link>https://before80.github.io/prgms/Rust/trpl/testing/03-test-organization/</link><pubDate>Wed, 05 Aug 2026 08:44:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/trpl/testing/03-test-organization/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/stable/book/"&gt;The Rust Programming Language&lt;/a&gt;（rustc 1.97.1）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="测试组织"&gt;测试组织&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/stable/book/ch11-03-test-organization.html"&gt;https://doc.rust-lang.org/stable/book/ch11-03-test-organization.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="测试组织-1"&gt;测试组织&lt;/h2&gt;
&lt;p&gt;　　正如本章开头所说，测试是一门复杂的学科，不同的人使用不同的术语与组织方式。Rust 社区主要从两类思考测试：单元测试与集成测试。&lt;em&gt;单元测试&lt;/em&gt;更小、更聚焦，一次隔离地测试一个模块，并且可以测试私有接口。&lt;em&gt;集成测试&lt;/em&gt;完全位于你的库之外，以任何其他外部代码相同的方式使用你的代码：只用公共接口，并且每个测试可能锻炼多个模块。&lt;/p&gt;</description></item></channel></rss>