entity framework核心InMemory数据库测试在并行运行时中断

在运行所有测试时,我最终会收到错误消息:

“已添加具有相同密钥的项目。密钥:125”

每次测试单独运行时都不会发生这种情况。

有趣的是,每个测试使用不同的DbName,以避免任何冲突:

[TestMethod] public void Test1() { using (var context = CreateTestingContext()) { ... } } [TestMethod] public void Test2() { using (var context = CreateTestingContext()) { ... } } protected static SGDTPContext CreateTestingContext([CallerMemberName] string dbName = "TestingDb") { var builder = new DbContextOptionsBuilder().UseInMemoryDatabase(dbName); return new MyDbContext(builder.Options); } 

这真的很奇怪,因为当我单独进行测试时,它们是绿色的! 当我同时运行它们时,有些最终会失败。

注意:我正在使用Visual Studio 2017中集成的MSTest。