c# - 对 WCF 服务进行单元测试

标签 c# wcf unit-testing testing mocking

我正在设计一个企业级网络应用程序,它将具有一个数据层 + SQL 数据库、一个与数据层通信的 WCF REST 网络服务层,然后是一个将与 WCF REST 网络服务通信的 MVC 网站。我想在设计的每个级别进行自动单元测试。

我已经很好地创建了一个数据层单元测试项目,它测试了 EF 模型、存储库、操作等,并且有大约 15 个测试我可以单击一个按钮并运行,到目前为止,测试数据层提供的所有功能。

我想在 WCF 服务层拥有同样的东西,但我不知道如何让一个自动测试项目针对 WCF 服务运行。我看过有关使用 WCF 测试客户端在后台加载服务并能够向每个服务方法输入参数并查看结果的文章,但我不想要手动过程,我希望它是自动化的,以模拟数据层并隔离测试服务调用。理想情况下,我想测试它的 RESTful 方面,因此变得复杂,因此能够模拟 GET/POST/PUT/DELETE 等,还可以使用错误的方法调用某些方法并确认它按预期失败等等.

是否有一个很好的解决方案来自动执行此操作,还是我的方法有误?

最佳答案

您当然可以创建可以自动运行的测试来测试 WCF 服务。

在此处查看 SO 讨论:WCF Unit Test

但是,您在测试策略/测试用例设计中需要问的一个问题是,有多少 REST 端点测试需要是单元测试,有多少需要成为系统/集成测试的一部分。因为 wcf 端点(包括 REST)允许您将系统视为黑盒并进行系统测试,而无需深入了解内部类型。

关于c# - 对 WCF 服务进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21239910/

相关文章:

C# Struct 没有无参数构造函数?看看我需要完成什么

c# - WPF:更改模板的背景颜色

c# - 如果我的 C# 程序中没有任何按键,如何进入登录表单?

c# - 如何从字节数组中读取绘图图像 (.dwg)

c++ - Qt:如何获取当前运行的窗口?

unit-testing - RhinoMocks - 使用非静态存储库时无法将类型 foo 转换为类型 bar

wcf - 如何在 IIS 6.0 上部署 WCF 服务

c# - 系统.Net.WebException : The request was aborted: Could not create SSL/TLS secure channel

c# - 如何将用户名/密码凭据从 php 客户端传递到自托管 wcf 服务?

java - Spring Boot RESTFUL Controller 的单元测试