Skip to content

012 — 测试

对于每个包,我们都添加了通过 PHPUnit 运行的单元测试。在设计测试时,应考虑以下准则。

  • 测试类默认应标记为 final
  • 不得使用 @test 注解,方法应以 test 为前缀。
  • 测试方法名称必须反映测试的目的。
  • 测试方法名称中不得使用“should”。
  • 如有必要,测试方法的 phpdoc 可以描述期望的行为。
  • 测试必须遵循 AAA 模式:首先安排(Arrange)必要的前置条件,然后执行(Act),最后断言(Assert)预期结果。
  • 每个测试方法必须只有一个测试用例,即单个 AAA。
  • 测试必须使用公共 API。不应访问私有属性或方法,不应对被测试类的内部实现做出假设。
  • 除非必要,测试不应依赖 composer-config-plugin 和 DI 容器。