Logo
Section 1 / 8

属性思维导论

了解本章将要讲解的内容。

导入

属性思维导论

了解本章将要讲解的内容。

在上一章中,我们介绍了属性的基本特性,包括其语法和生成器的使用。我们通过实践 biggest(List) 函数,确保其行为正确。现在,我们应该已经对属性的形态以及如何阅读它们有了清晰的认识。然而,要真正掌握如何编写有效的属性,仍然需要很长时间的积累。请记住,熟能生巧。

编写优秀的属性具有挑战性,所需投入的努力远超常规测试,正如我们在前一章所发现的那样。在本章中,我们将介绍一些技巧,帮助大家从传统的测试思维过渡到自然地运用属性测试。

我们将学习几个实用的方法和窍门,以应对复杂场景下的属性编写。这些方法包括:

  1. 建模
  2. 将示例测试泛化
  3. 寻找不变性
  4. 对称属性
...
编写属性的方法

首先,我们会尝试对代码进行建模,从而避免大量复杂的思考过程。当建模不可行时,我们将尝试从传统的基于示例的测试中提炼出通用的属性,这有助于我们明确预期背后的规则。另一种方法是寻找不变性,从而从简单的属性逐步构建起完整的测试套件。最后,对于某些特定问题,我们还将利用对称属性作为一种简便的“捷径”。

让我们开始吧。

编写属性

建模