2013-03-15 105 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。