2009-09-28 95 views
0

我最近花了很多时间拔出存储过程的后端,并用NHiberante基本库替换它。每个存储库一次测试在存储过程版本中是很好的,因为我可以验证存储过程是否正常工作,而将返回的数据映射到我的对象的类没有工作。为NHibernate编写集成测试集成测试的任何一点?

但是,当我把它和NHibernate一起运行后,我想我自己“这真的需要吗?”。毕竟,NHibernate的所有单元测试,以确保会话知道如何做脏跟踪/绘图工作/ etc

我在这里丢失的东西,或者我应该折腾这些测试提供没有实际价值?

(存储库的这种集成测试期间我将行使样品)

public class UserRepository : NHibernateRepository<User>, IUserRepository 
{ 
    public UserRepository() : base() 
    { 
    } 

    public void DeleteUser(User User) 
    { 
     base.Delete(User); 
    } 

    public User GetUserById(int id) 
    { 
     return base.Retrieve(id); 
    } 

    public IQueryable<User> GetUserCollection() 
    { 
     return base.RetrieveAll(); 
    } 

    public void SaveUser(User User) 
    { 
     base.Save(User); 
    } 
} 

回答

3

至少,你应该知道你的映射工作。这可以通过创建一些简单的测试来删除和保存。

2

您还应该为映射添加一些'Ghost Buster'样式测试。