【问题标题】:Unit tests to test the Web methods of a Web service which does some database transactions using NUnit单元测试以测试使用 NUnit 执行一些数据库事务的 Web 服务的 Web 方法
【发布时间】:2009-01-06 06:34:05
【问题描述】:

如何编写单元测试来测试使用 NUnit 的 Web 服务的 Web 方法?

此应用程序中的 Web 方法将添加、更新和删除数据库中的记录。 单元测试会测试一个web方法是否有一条记录被插入到数据库中,webmethod调用数据访问层的一个方法来执行这个动作。

【问题讨论】:

    标签: asp.net unit-testing nunit


    【解决方案1】:

    我认为使用单元测试来测试 Web 服务的最终结果是不合适的。此外,您正在尝试做的事情称为“集成测试”,而不是单元测试。

    但是,您可以做的是:

    • 编写单元测试以检查您的数据访问层 (DAL) 是否正常工作
    • 编写单元测试以查看您的 Web 方法是否正确访问您的 DAL

    您可能还想查看我之前提出的一个问题:How do I unit test persistence?,以便为您提供更多见解。

    但是,如果您确实坚持能够做到这一点,则可以使用具有Rollback 属性的MbUnit 创建此类单元测试。

    [Rollback]
    public void Test_database_persistence()
    {
        //any database access you perform here will be put inside a transaction 
        //and rolled back afterwards
    }
    

    MbUnit 与 NUnit 完全兼容,因此您仍然可以使用您已经用 NUnit 编写的测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多