用于测试使用 NUnit 执行某些数据库事务的 Web 服务的 Web 方法的单元测试

发布于 2024-07-11 11:18:46 字数 137 浏览 7 评论 0原文

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

此应用程序中的 Web 方法将添加、更新和删除数据库中的记录。 单元测试将测试Web方法是否已将记录插入数据库中,Web方法调用数据访问层中的方法来执行此操作。

How do I write unit tests to test the Web methods of a Web service using NUnit?

The web methods in this application will add,update and delete a record in the database.
The unit test will test a web method whether a record has been inserted in the database, the webmethod calls a method in data access layer to perform this action.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦幻的心爱 2024-07-18 11:18:46

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

然而,您可以做的是:

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

您可能还想看看我的问题之前提出过:如何对持久性进行单元测试?为您提供更多见解。

但是,如果您确实坚持能够做到这一点,则可以使用 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 编写的测试。

I do not think it's appropriate to be testing the end result of your web service with a unit test. Also, what you are trying to do is called an "integration test", and not a unit test.

What you can do, however, is to:

  • Write unit tests to check if your data access layer (DAL) is working properly
  • Write unit tests to see if your web method is properly accessing your DAL

You might also want to look at a question I raised before: How do I unit test persistence? to provide you more insight.

If you really are adamant to be able to do this however, it is possible to create such unit tests using MbUnit, which has the Rollback attribute.

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

MbUnit is totally compatible with NUnit, so you could still use tests you've already written with NUnit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文