我最近在 Phoenix 应用程序中编写了一些 Ecto 迁移。
但是,我总是手动测试迁移。
随着我们的迁移变得越来越复杂并且需要更改我们实时系统上的数据,我真的很想在部署它们之前编写自动化测试。
自动测试需要:
- 将数据库重置到迁移之前的某个点
- 运行比要测试的迁移更早的迁移
- 准备数据并将其插入数据库
- 运行迁移
- 验证结果是否符合预期
- 清理数据库以确保即将进行的测试不会与数据冲突
我们正在使用 ExUnit 和 ESpec,但我还没有找到一种方法来仅在特定测试之前应用一些迁移。
有没有办法为 Ecto 迁移编写自动测试?