【发布时间】:2019-03-10 09:51:10
【问题描述】:
我对这个主题进行了广泛的搜索,发现我想要做的事情的结果为零。
从高层次来说,这是我想做的:
- 安排:在测试方法中,调用适当的服务来为数据库播种。
- 行动:运行迁移以更新数据库架构。
- 断言:数据完整性,即可以根据更新后的实体结构访问种子数据。
这有什么意义?
好吧,在上面的断言中已经描述了很多;数据的完整性。此项目中的迁移使用Database.Migrate() 在应用启动时运行。我想确保现有数据没有丢失/损坏。
我遇到的所有集成测试示例几乎都运行 Database.Migrate() 作为测试设置的一部分,然后是种子,然后是断言。然而,这仅在测试给定 latest 模式的数据访问层时有用(所有迁移都已应用)。它在测试特定迁移对已存在数据的影响时没有用处。
问题:
其他人如何解决跨迁移测试数据完整性的问题?我正在寻找一种可以很好地与 CI 管道配合使用的设置。
【问题讨论】:
标签: asp.net-web-api integration-testing entity-framework-migrations ef-core-2.0