使用 EF6 进行单元测试后重建数据库
Posted
技术标签:
【中文标题】使用 EF6 进行单元测试后重建数据库【英文标题】:Reconstruct Database after Unit Test with EF6 【发布时间】:2014-02-17 17:44:06 【问题描述】:我想在测试完成之前或之后删除现有数据库并重新创建它。这甚至可能吗?
我确实在上下文 obj 中看到了一些用于删除和 createifnotexist 的属性,但我不确定如何以及在何处放置它。
【问题讨论】:
查看这个问题[这是怎么做][1] [1]:***.com/questions/15162734/… 【参考方案1】:创建一个数据库初始化程序,它总是删除并创建数据库,每次都用种子数据填充它。仅在您的单元测试类中使用该初始化程序。
或者更好的是,不要对 EF 进行单元测试,你不会得到任何东西。模拟你的 EF 后端,只测试你自己的代码。
【讨论】:
【参考方案2】:如果您将数据库存储为文件 (mdb),您只需恢复原始文件即可。
你可以编写代码在你的 testinitialize 方法中创建和填充它
在这里http://msdn.microsoft.com/en-us/data/jj591621.aspx 寻找一个开始的地方
【讨论】:
以上是关于使用 EF6 进行单元测试后重建数据库的主要内容,如果未能解决你的问题,请参考以下文章
在使用@Retention、@Transactional、@Inherited 注释服务进行测试后,TestNG 单元测试不起作用