VisualStudio 2010对WebService进行单元测试

利用VisualStudio 2010自带的单元测试工具,可以自动生成大量的代码。非常好用。

使用方法很简单。在测试对象的类上点右键,选择那个Create Unit Tests,会弹出一个页面。

默认会把测试对象类的所有方法都勾选上,在页面的最下方有个Output project的下来菜单。

可以选择将生成代码放入一个既有的测试工程。或者建一个全新的测试工程。

确认好后点OK就会自动生成一个测试类放在指定工程下。

 

你会发现勾选上的所有方法不论公有,私有还是WebService方法都会有生成一个对应的测试方法。

WebService的测试代码如下

        [TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("..\\WebService003", "/")]
        [UrlToTest(http://localhost:54241)]
        public void getDataTest001()
        {
            WebService001_Accessor target = new WebService001_Accessor();
	  string paraData = "the parameter"
           string expected = "the expected result";
           actual = target.getData(paraData);
            
           Assert.AreEqual(expected, actual);
        }


先看函数头,除了普通测试方法的[TestMethod()]属性,WebService方法还多了3个属性

[HostType("ASP.NET")]

[AspNetDevelopmentServerHost("..\\WebService003", "/")]

[UrlToTest(http://localhost:54241)]

 

AspNetDevelopmentServerHost指向的是你的测试的对象工程

UrlToTest则指向你要测试的WebService Url的根位置。注意这里不能改成具体的某个具体的WebService类。

这样在你开始单元测试时,vs2010会自动启动你要测试的WebService(http://localhost:54241)

最后,如果你要测试的WebService工程没有一个Default.aspx文件的话,测试实施时会报the Web request completed successfully without running the test。

造成测试无法继续。

msdn给出的解决办法是,加一个默认的Default.aspx(什么也不用改)。

为了单元测试,要修改测试对象工程,这种做法有些奇怪。

不过鉴于vs2010自带的单元测试工具非常方便,也只能忍了。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值