【问题标题】:C#: Use NUnit to test classes that use NhibernateC#:使用 NUnit 测试使用 Nhibernate 的类
【发布时间】:2010-06-02 12:12:48
【问题描述】:

我有一个项目,其中包含许多使用 Nhibernate 的类。现在我想使用 NUnit 来测试这些类。我需要考虑哪些具体事项?

【问题讨论】:

    标签: c# unit-testing nhibernate configuration nunit


    【解决方案1】:

    您可以模拟 NHibernate。以下链接可能对您有所帮助:

    Mocking an NHibernate ISession with Moq NHibernate testing, mocking ISession

    【讨论】:

      【解决方案2】:

      您是否在对类映射进行单元测试,即数据是否保存正常或类内的逻辑?

      映射测试

      我建议您对休眠映射使用 Sqlite 和内存测试——尽管这在技术上不是单元测试。我会在每次运行测试时创建一个会话,以便在使用 nunit 框架时使用方法上的 [SetUp] 属性来告诉 nunit 运行创建会话代码。确保会话在测试结束时关闭并处理掉。

      http://support.fluentnhibernate.org/discussions/help/87-in-memory-sqlite-database-for-persistencespecification-testing

      单元测试

      单元测试将涉及模拟大部分 nhibernate,以便您测试实际的类。

      http://ayende.com/Blog/archive/2009/04/18/mocking-nhibernate.aspx

      【讨论】:

        【解决方案3】:

        您需要在测试的开始(或测试期间)创建会话......

        我猜是这样……

        其他的都一样……

        【讨论】:

          【解决方案4】:

          我会考虑使用 NDBUnit。它允许您对数据库进行单元测试,同时保证数据库的状态不受外部因素的影响。您可以将它与 NUnit 一起使用来测试该类。

          【讨论】:

          • ndbunit 是 nunit 的扩展吗?或者它是一个独立的测试设施?我也在考虑nhibernate的配置……
          • 它不是 NUnit 的扩展,尽管它们可以很好地配合。
          猜你喜欢
          • 2010-12-13
          • 1970-01-01
          • 2011-12-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-09
          • 2010-10-03
          • 2014-08-14
          相关资源
          最近更新 更多