2013-03-15 8 views
1

В настоящее время я пытаюсь выполнить тестирование класса контекста Entity Framework с помощью рамки «Усилия» (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

Решена проблема сама по себе. я не использовал IDbSet в моем контексте, стыковой просто DbSet, которые приводят к некоторым трудностям.

Смежные вопросы