.net core .Net核心实体框架核心,为同一测试类中的每个测试使用新数据库

.net core .Net核心实体框架核心,为同一测试类中的每个测试使用新数据库,.net-core,entity-framework-core,.net Core,Entity Framework Core,我有一些测试来测试补丁功能。我正在使用这个定制工厂 对于每个测试,我希望创建新的数据库,或者至少再次清除和种子数据。因为其他测试会弄乱数据。您可以使用 db.Database.EnsureDeleted(); 这样可以确保上下文的数据库不存在。如果不存在,则不采取任何行动。如果它确实存在,则数据库将被删除。是的,我在某个地方看到过,但不确定具体在哪里使用它。在上面第44行提到的工厂中-就在重新创建之前()是的,但它只在范围内运行一次,当我在一个文件中运行所有测试时,它在单个范围内,所以测试

我有一些测试来测试补丁功能。我正在使用这个定制工厂

对于每个测试,我希望创建新的数据库,或者至少再次清除和种子数据。因为其他测试会弄乱数据。

您可以使用

 db.Database.EnsureDeleted();

这样可以确保上下文的数据库不存在。如果不存在,则不采取任何行动。如果它确实存在,则数据库将被删除。

是的,我在某个地方看到过,但不确定具体在哪里使用它。在上面第44行提到的工厂中-就在重新创建之前()是的,但它只在范围内运行一次,当我在一个文件中运行所有测试时,它在单个范围内,所以测试共享上下文,因此使用相同的数据IClassFixture-请参阅。。。