情景:
WebMethod
- 归因方法Create Unit Tests...
请注意,每个测试的生成代码都包含以下样板:
// TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page
// (for example, http://.../Default.aspx). This is necessary for the unit test to
// be executed on the web server, whether you are testing a page, web service, or
// a WCF service.
[TestMethod]
[HostType("ASP.NET")]
[AspNetDevelopmentServerHost("C:\\...\\ProjectName", "/")]
[UrlToTest("http://localhost:59733/")]
public void MethodNameTest()
根据评论的要求,将Default.aspx
添加到UrlToTest
:
[UrlToTest("http://localhost:59733/Default.aspx")]
在课程中运行所有测试
问题:
不一致,某些测试失败了
无法配置与ASP.NET的通信通道。未找到请求的服务
哪些测试失败以及哪些测试通过可能因运行而异。似乎没有失败的模式,但从来都不是所有成功运行的情况。
出了什么问题?
答案 0 :(得分:3)
您在UrlToTest
中指定的网页是否始终在加载时执行Response.Redirect
?因为如果是的话,这就是你所看到的失败的原因。
将UrlToTest
中指定的网址更改为不执行Response.Redirect
的网页,并且您的测试应运行良好。
答案 1 :(得分:1)
通过Resharper单元测试运行器运行测试。这也解决了我的问题。这也避免了多次重新加载web.config并感觉更快。