2013-03-15 113 views
1

我目前正在尝试使用“努力”框架(http://effort.codeplex.com/wikipage?title=Tutorials&referringTitle=Home)单元测试实体框架的上下文类。单元测试与努力

这是我的测试目前的样子:

[TestMethod] 
public void GetUseraccountsForRealTest() 
{ 
    DbConnection connection = Effort.DbConnectionFactory.CreateTransient(); 
    SqlContext context = new SqlContext(connection); 

    context.TaskComment.Add(new TaskComment() { Id = 1, Message = "Test" }); 
} 

最后一行是行不通的。什么都没发生。

这是我SqlContext类的样子:

public class SqlContext : DbContext 
{ 
    ... 
    public IDbSet<TaskComment> TaskComment { get; set; } 
    ... 

    //Constructor used by webserver 
    public SqlContext(string connectionString) : base(connectionString) 
    { 
    } 

    //Constructor used for unit testing 
    public SqlContext(DbConnection connection) : base(connection, true) 
    { 
     this.Configuration.LazyLoadingEnabled = false; 
    } 

    /// 
    /// <param name="modelBuilder"></param> 
    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 
     modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>(); 
    } 
} 

任何人有一个想法,我怎么能解决这个问题?没有任何关于“努力”的经验,并且没有太多文档。 :-(

回答

1

问题解决了我自己。 我没有我的情况下,仅仅屁股其中DbSet导致一些困难,使用IDbSet。