我正在设计一个企业级网络应用程序,它将具有一个数据层 + 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/