单元测试 使用 Effort 内存数据库 报错

Posted 二奎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单元测试 使用 Effort 内存数据库 报错相关的知识,希望对你有一定的参考价值。

单元测试中 使用 Effort 内存数据库,可能会遇到两个错误:

1. :“No Entity Framework provider found for the ADO.NET provider with invariant name \'Effort.Provider

这个报错,是告诉我们没有引用effort,这里可能会有疑问,我明明已经引用的effort,为什么还不行,其实是由于版本问题导致的。

在早期的enitty framework版本是引用effort,但是在ef6里 需要引用的是effrot.ef6

如下:

 

2. EffortException: Database has not been initialized

第二个错,是说数据库没有初始化。

这个也比较简单,我是这样修改的,供大家参考:

Database.SetInitializer(new CreateDatabaseIfNotExists<XXXDbContext>());

 

以上是关于单元测试 使用 Effort 内存数据库 报错的主要内容,如果未能解决你的问题,请参考以下文章

使用内存数据库进行单元测试

用于单元测试的内存 DBMS

没有内存数据库的单元测试 dao 层

如何使用 H2 内存数据库编写单元测试

再谈EF Core内存数据库单元测试问题

内存数据库中的 H2:使用 JDBC 设置时区? Java 单元测试