While working on a little project, i found that i needed to do some web service testing. So, i found the WebMethod i wanted to test, right clicked it and then selected Create Unit Test. When i did this, i got the following as a comment where the WebService was instantiated:

backend target = new backend(); // TODO: Use [AspNetDevelopmentServer] and TryUrlRedirection() to auto launch and bind web service.

backend is the name of the webservice, and this [AspNetDevelopmentServer] confused me. So, after some reading, I found you have to add the following to your code, just below the  [TestMethod()] section:

[AspNetDevelopmentServerAttribute("MyServerName", @"<insertPathToWebSite>", "/WebSiteAddress")]
You also need the following using statement:
using Microsoft.VisualStudio.TestTools.UnitTesting.Web;

There is some more info on the MSDN about this under Testing Web Services, and also Testing Web Sites and Web Services in a Team Environment. Handy stuff!

[update] I forgot one fairly important thing:

after you instantiate your webservice object, you need to call the following:

WebServiceHelper.TryUrlRedirection(target, testContextInstance, "WebServiceName");

This will tell Visual Studio to use the the ASP.NET test web server for testing.

kick it on DotNetKicks.com


</p>