C#学习教程:如何测试WCF服务的客户端WCF服务或多或少像这样工作:publicclassMyService:IDisposable{publicMyService(){this.IntializeDBConnection();}publicintGetNextObjectInList(intid){/*使用DB连接*/}/*Dispose释放DB连接*/}这使得客户端代码相对简单:publicvoidUseNextElementInList(){IMyServicesvc=newMyServiceClient();intnextID=svc.GetNextObjectInList(this.ID);/*使用对象*/}我已经编写了单元测试来测试WCF服务对象,但我想测试消费者代码的各种事情,例如计时/性能/错误处理,但我不知道如何构建我的进行测试,以便服务不会访问数据库。我的大多数测试(例如针对服务对象运行的测试)都会创建一个内存数据库,但如果服务中没有特定于测试的代码,我不知道如何将服务连接到它。我会为您的单元测试创??建一个测试服务。通常我在这些情况下所做的是为测试项目创建一个与真实项目相同的配置,除了地址是本地主机并且类型将是我的测试服务类:如果您使用的是VS测试项目,则可以使用ClassInitialize/用于设置/拆除服务的ClassCleanup属性:[ClassInitialize()]publicstaticvoidMyClassInitialize(TestContexttestContext){mHost=newServiceHost(typeof(TestService));mHost.Open();返回;}[ClassCleanup()]publicstaticvoidMyClassCleanup(){if(mHost!=null){mHost.Close();}返回;现在在TestService类(它将实现IMyService)中,您可以提供任何您想要测试客户端的行为,而不必担心您的单元测试会破坏您的生产代码。以上是C#学习教程:HowtotesttheclientsideofWCFservice。如果对你有用,需要了解更多C#学习教程,希望大家多多关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处:
