时间:2021-05-02
不论是在Web项目中添加Web服务还是直接新建一个Web服务项目,在为WebMethod创建单元测试,运行测试的时候有可能抛出这样的错误信息:
Web 请求“http://localhost:<port>/”在未运行测试的情况下成功完成。这种情况会在为测试配置 Web 应用程序失败(处理请求时发生 ASP.NET 服务器错误)时或未执行任何 ASP.NET 页(URL 可能指向一个 HTML 页、一个 Web 服务或一个目录列表)时发生。在 ASP.NET 中运行测试要求 URL 解析为 ASP.NET 页,并且该页在 Load 事件发生之前一直正确执行。请求的响应连同测试结果一起存储在文件“WebRequestResponse_<web method name>.html”中,通常可使用 Web 浏览器打开此文件来查看其内容。
看看错误信息的说明。当中已经说出,发生这种情况有两个可能:1.配置Web应用程序失败,2.未执行任何ASP.NET页。因此,排除错误也从这两方面下手。
首先要确定Web应用程序是可以正确执行的。如何判断呢?只要该程序能被正常编译,或是能在浏览器中正常浏览该WebService即可。能被正常浏览的WebService的内容大致如下:
如果Web应用程序是可以正确执行的,那么出现上述错误的原因则是第二种情况:未执行任何的ASP.NET页。在为一个WebMethod通过Visual Studio创建单元测试时,自动生成的代码大致如下:
/// <summary>///HelloWorld 的测试///</summary>[TestMethod()][HostType("ASP.NET")][AspNetDevelopmentServerHost("E:\\Visual Studio 2005\\Test\\TestWebService", "/")][UrlToTest("http://localhost:6036/")]public void HelloWorldTest(){ TestService target = new TestService(); string actual; actual = target.HelloWorld(); Assert.Inconclusive(actual);}按属性名来理解,HostType设定的是主机类型,AspNetDevelopmentServerHost指定的是项目的路径,而UrlToTest指定的是发送请求到WebService的Url,导致上述错误出现的问题也在此。因为HostType属性指定了主机的类型是ASP.NET,则UrlToTest属性必须可以被解析为ASP.NET页。在运行测试的时候,正是该页面向WebService发送请求。
在Visual Studio自动创建的代码中,UrlToTest的值通常是Web项目的Url,该Url默认是会指向项目中的Default.aspx页面,具体情况视ASP.NET服务器的配置而定。所以,如果你所建的项目中没有Default.aspx的话,直接运行测试的时候则会出现上述错误。所以我们必须把UrlToTest的值改成一个可被解析为ASP.NET的页。
以下属于猜测:如果HostType的值不指定为ASP.NET的话,UrlToTest也应该可以使非ASP.NET页。本人对HostType属性了解不多,这里只作简单说明,留待有兴趣的朋友自己验证。
原文地址:http://www.cnblogs.com/z119977662/archive/2010/08/05/1793276.html
本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
使用LoadRunner做性能测试,一般的直觉是LR只能完成脚本录制和编写模拟用户的请求行为,但是在某些情况下,要监控一些中间件或web服务器的性能时,就不能通
搭建完成一个网站,会测试各种响应消息,首先请求Web服务器以会返回的HTTP状态代码,通知浏览器请求是否成功,是否有错误或需要身份验证。HTTP状态代码是网站建
jupyternotebook安装完成之后需要密码,还有某些情况下也会出现需要输入密码的情况解决方法如下:1、在运行界面输入jupyternotebooklis
前端开发的同行们,特别是涉及页面重构一块的,在web页面完成的时候,一般都要进行个主流浏览器的兼容性测试,一般情况下,像火狐,opera,safari,chro
压力测试和负载测试的区别在于负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担;压力测试也是一种性能测试,它在系统资源特别低的情况下软件系统运行