首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

WCF 单元测试 有关问题

2012-12-14 
WCF 单元测试 问题!在做WCF的单元测试时,测试代码如下:/// summary///MyFunction 的测试////summary//

WCF 单元测试 问题!
在做WCF的单元测试时,测试代码如下:


         /// <summary>
        ///MyFunction 的测试
        ///</summary>
        // TODO: 确保 UrlToTest 特性指定一个指向 ASP.NET 页的 URL(例如,
        // http://.../Default.aspx)。这对于在 Web 服务器上执行单元测试是必需的,
        //无论要测试页、Web 服务还是 WCF 服务都是如此。
        [TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("D:\\SystemSoftware\\客户端框架\\MyLib.Service.MyTest", "/")]
        [UrlToTest("http://localhost:4491/MyTestDataService.svc")]
        public void MyFunctionTest()
        {
            MyTestDataService target = new MyTestDataService(); // TODO: 初始化为适当的值
            string str = "002"; // TODO: 初始化为适当的值
            string[] strArr = null; // TODO: 初始化为适当的值
            DateTime startTime = new DateTime(2010,8,1); // TODO: 初始化为适当的值
            DateTime endTime = new DateTime(2010,12,1); // TODO: 初始化为适当的值
            OperationFeedback feedback = null; // TODO: 初始化为适当的值
 
            DataSet actual;
            actual = target.MyFunction(str, strArr, startTime, endTime, out feedback);

            Assert.IsTrue(feedback.CorrectRunning);
        }


执行测试,总是出现如下错误。


Web 请求“http://localhost:4491/MyTestDataService.svc”在未运行测试的情况下成功完成。这种情况会在为测试配置 Web 应用程序失败(处理请求时发生 ASP.NET 服务器错误)时或未执行任何 ASP.NET 页(URL 可能指向一个 HTML 页、一个 Web 服务或一个目录列表)时发生。在 ASP.NET 中运行测试要求 URL 解析为 ASP.NET 页,并且该页在 Load 事件发生之前一直正确执行。请求的响应连同测试结果一起存储在文件“WebRequestResponse_MyFunctionTest.html”中,通常可使用 Web 浏览器打开此文件来查看其内容。


http://localhost:4491/MyTestDataService.svc,已经运行,是可访问的。


[解决办法]
再顶一次。

[解决办法]
http://www.360doc.com/content/11/0223/17/3877783_95473700.shtml
这是原文链接

按属性名来理解,HostType设定的是主机类型,AspNetDevelopmentServerHost指定的是项目的路径,而 UrlToTest指定的是发送请求到WebService的Url,导致上述错误出现的问题也在此。因为HostType属性指定了主机的类型是 ASP.NET,则UrlToTest属性必须可以被解析为ASP.NET页。在运行测试的时候,正是该页面向WebService发送请求。</p>
<p>&#12288;&#12288;在Visual Studio自动创建的代码中,UrlToTest的值通常是Web项目的Url,该Url默认是会指向项目中的Default.aspx页面,具体情况视ASP.NET服务器的配置而定。所以,如果你所建的项目中没有Default.aspx的话,直接运行测试的时候则会出现上述错误。所以我们必须把 UrlToTest的值改成一个可被解析为ASP.NET的页。</p>
<p>&nbsp;</p>
<p>


<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我(GB2013)在尝试单元测试时,按如上方没有解决问题,但是注掉HostType和UrlToTest两个配置节以后,就可以正常测试了。具体原因还不清楚

热点排行