# 固定装置是什么？

By [cp](https://paragraph.com/@cp520621) · 2022-07-08

---

在我们深入了解固定器是什么之前，让我们先来看看什么是测试。

最简单地说，测试的目的是查看特定行为的结果，并确保结果与您的预期一致。行为不是可以通过经验来衡量的，这就是为什么编写测试会很有挑战性的原因。

“行为”是指某些系统 **作为回应** 特定的情况和/或刺激。但确切地说 _how_ 或 _why_ 做了一些事情并不像做了什么那么重要 _what_ 已经完成了。

您可以认为测试分为四个步骤：

1.  **Arrange**
    
2.  **Act**
    
3.  **Assert**
    
4.  **Cleanup**
    

**安排** 是我们为考试做准备的地方。这意味着几乎所有的东西，除了“ **act** “它把多米诺骨牌排成一排，这样 **act** 可以在一个改变状态的步骤中完成它的事情。这可能意味着准备对象、启动/终止服务、向数据库中输入记录，甚至是定义要查询的URL、为尚不存在的用户生成一些凭据，或者只是等待某个过程完成。

**Act** 是启动 **行为** 我们想测试一下。这一行为实现了被测系统(SUT)状态的改变，也是我们可以查看的改变后的状态，以便我们对行为做出判断。这通常采用函数/方法调用的形式。

**断言** 是我们观察结果状态的地方，检查尘埃落定后它看起来是否像我们预期的那样。这是我们收集证据来证明行为是否符合我们预期的地方。这个 `assert` 在我们的测试中，我们在哪里进行测量/观察，并对其应用我们的判断。如果什么东西应该是绿色的，我们会说 `assert thing == "green"` .

**清理** 是测试在其自身之后重新开始的位置，因此其他测试不会意外地受到它的影响。

在它的核心，测试最终是 **act** 和 **断言** 步骤，使用 **安排** 仅提供上下文的步骤。 **行为** 存在于 **act** 和 **断言** .

---

*Originally published on [cp](https://paragraph.com/@cp520621/l9FytbJfWtMvkHkC2MLM)*
