c# - How to use Microsoft Fakes to isolate a web service without using Dependency Injection -
i testing web service client , need isolate call web service.
i have been told can not use dependency injection. how can isolate webservice can test business logic calls service. since can not control webservice need sure of value service return.
i have been told using microsoft fakes can this, not know how define fake.
a simplified version of code testing is:
var client = new serviceprovider.serviceproxies.promoservice.promoserviceclient(); client.clientcredentials.windows.allowedimpersonationlevel = client.open(); promo promofrommaps = client.getpromobyid(exitingpm.networkid, true, true, true, exitingpm.mapspromoid);
i want control values stored in promofrommaps able test business logic occurs after that.
thanks time.
it looks should read following microsoft documentation on subject: https://msdn.microsoft.com/en-us/library/hh549175.aspx
what need right-click on serviceprovider reference , select add fake. create folder in test project called fakes. after entire dll faked , can use faked promoservice through name shimpromoservice. can set this:
shimpromoservice.promoserviceclient = () => new client(); //probably return mock or
that way can return mock if want (using moq, nsubstitute etc) promoserviceclient method.
Comments
Post a Comment