C# 含NHibernate的TDD
我想用ASP.NET3.5(C#)、NHibernate、Oracle和NUnit开始一个测试驱动的开发。任何人都可以向我推荐任何关于NHibernate和NUnit的教程作为开始。任何参考书也将不胜感激 注意:我看过Nhibernate的夏季视频系列,但它只适用于SQL server,不适用于oracleC# 含NHibernate的TDD,c#,asp.net,oracle,nhibernate,tdd,C#,Asp.net,Oracle,Nhibernate,Tdd,我想用ASP.NET3.5(C#)、NHibernate、Oracle和NUnit开始一个测试驱动的开发。任何人都可以向我推荐任何关于NHibernate和NUnit的教程作为开始。任何参考书也将不胜感激 注意:我看过Nhibernate的夏季视频系列,但它只适用于SQL server,不适用于oracle 提前感谢可能需要稍加编辑,但它非常好,正是您想要的:一个使用测试驱动开发方法的逐步NHibernate教程。要了解更多关于NHibernate的信息,我将观看NHibernate夏令营。
提前感谢可能需要稍加编辑,但它非常好,正是您想要的:一个使用测试驱动开发方法的逐步NHibernate教程。要了解更多关于NHibernate的信息,我将观看NHibernate夏令营。 也许看看这个问题: 我在过去使用过的一些其他有用的链接
对于使用NHibernate进行TDD,将数据库设置到特定场景中是非常有用的。我使用的一种技术是。因为每个测试都会创建一个新的数据库,所以您不必担心持久数据库可能导致多次运行测试的结果不一致。此外,测试代码是可重新发布的,无需其他人运行Oracle、SQL Server等实例
另一方面,与实际数据库的集成测试非常重要,因为即使使用像NHibernate这样的好ORM,行为也可能略有不同。您是在测试NHibernate还是数据库?为什么要在单元测试中使用它?我想在数据库中使用NHibernate,并使用NHibernate测试数据事务。您不想模拟数据库,而不是依赖它进行测试吗?这将允许您确保进行了特定的调用。@Yuriy Faktorovich:创建集成测试来测试您的代码是否实际使用数据库非常有用。当你模仿某个东西作为依赖项使用时,你也必须为模仿的东西创建测试。@Paco:你为什么要为模仿创建测试?为什么不使用通用的模拟框架呢?但oracle仍然存在问题:(我还在内存中使用SQLite进行测试。我也在oracle环境中。正如statenjasen所说,两者不同,因此它不能完全取代集成测试(例如,您不能在oracle中使用多查询)。