-
清晰外部依赖
即分清是本项目范围,还是其他项目范围。
外部依赖使用facade和服务提供者 模式,进行抽象,项目使用外部依赖时,统一使用facade进行操作。 -
可伪造的外部依赖
外部依赖是不可控的,在开发测试阶段,我们需要对外部依赖进行mock,以保证我们开发和测得独立性。 -
登录模拟
方便的模拟某登录用户,进行操作。 -
便捷的断言
对api的json结果能方便的进行断言。
- 数据库更新自动化
使用数据库迁移和填充功能,是数据库结构和基础数据能自动变为最新且完整。 - 方便的数据伪造
使用Faker 扩展,方便的伪造数据,并结合模型和工厂,伪造对应的数据记录。 - 每次测试的数据不互相污染
使用phpunit的setUp和tearDown方法,在每个测试方法前后自动回滚数据库。 - 快速断言数据库记录
-
TP 的facade 默认对测试并不友好,需要修改可以被模拟,并且每次测试,模拟独立,不会影响到下一个测试。
-
tp没有模型工厂,需要创建模型工厂 和 Faker来进行快速生成,方便生成测试的数据。
-
需要一个通用的授权机制,并且可以被模拟登陆授权。
-
数据库改动都需要使用数据迁移来操作修改,每次运行测试,先进行迁移,每个测试用例前,需要自动启动事务,完成后回滚。