小编Pat*_*ngs的帖子

实体框架集成测试DropCreateDatabaseAlways不会在测试之间清除数据库

我正在编写一组集成测试(使用MS Test进行单元测试,测试Entity Framework 4.2将所有类正确地保存到数据库中).

当我逐个运行所有测试时,它们都能正常工作.当我在一个组中运行它们时 - 其中一些因为返回错误数量的对象而失败 - 看起来db在测试开始时被清理一次而不是在每次测试之间 - 尽管我可以看到为每个测试创建并处理新的上下文

有任何想法吗?

public class EmptyDataInitializer : DropCreateDatabaseAlways<myContext>
{
    protected override void Seed(myContext db)
    {
        //Do Nothing Create Empty Database
        db.SaveChanges();
        base.Seed(db);
    }
}
Run Code Online (Sandbox Code Playgroud)

单元/集成测试的减少版本

[TestClass]
public class PersistanceTests
{
    //Creating two instances of our Repository so that we can make sure that we are reading from our database rather than in-memory
    private myContext _db;
    private myContext _dbResults;
    private readonly ISettings _configSettings;

    public PersistanceTests()
    {
        _configSettings = MockRepository.GenerateStub<ISettings>();
        _configSettings.ConnectionString = "data …
Run Code Online (Sandbox Code Playgroud)

unit-testing entity-framework-4.1

5
推荐指数
1
解决办法
4530
查看次数

标签 统计

entity-framework-4.1 ×1

unit-testing ×1