[Windows PowerShell06]-PowerShell Run UnitTestCase

       在关于单元测试的博文中介绍了UnitTest,实际开发过程中我们会写很多的UnitTest,当我们对我们的代码进行了重构或者fix了Bug之后,我们需要知道我的UnitTest还能否通过,这时候如果我们手动一个一个运行UnitTest,效率会比较低,有的同学会说,我可以选择运行全部的UnitTest,纵然这样做没错,但一般来说,UnitTest运行起来就效率不高,而且最重要的是如果一个人的UnitTest还好,如果希望运行多个Server上的UnitTest并且收集结果就不是那么方便了。

       还好在实际过程中,我们的UnitTest是由开发人员编写,开发人员自己会去Run UnitTest,对于自动化测试来说,我们会使用QTP的类库去调ALM来Run  case,这时候使用PowerShell来Run case的优势就立马显现出来了,一个稍微复杂的功能,一个TestSet run 下来基本一个小时,而且需要手动查看结果。这样的过程显然不是我们想要的,对于自动化来说,就是点击开始按钮,等结果就行了。

       还有一点的是,在Rolling Upgrade过程中,我们需要跑多遍SmokeTest 及一些环境设置,我们要在部署之前Check 环境是否可用,一旦不可用我们需要停止Rolling或者采取相应措施,一个Rolling Upgrade的时间基本是超过100分钟,这个过程依靠手动来做是费时费力而且容易出错的。

       无论是直接Run UnitTest 还是通过TestCase来连接ALM Run Case,都是通过MSTest来做的。MSTest是VS自带的组件,使用前需要设置环境变量。

       SetEnvironmentVariables.ps1

       $MsTestPath = "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE"
       [environment]::SetEnvironmentvariable("Path",$MsTestPath,"User")

       这样就可以使用MSTest了。

       

此处运行的是上章节讲UnitTest的时候写的单元测试,这个dll是测试工程编译的dll,当然,工程引用的Moq等dll需要一并拷贝到运行目录下。

我们可以看到测试工程中的5个测试方法均通过了UnitTest,这里我们得到了一个测试结果的trx文件,这个文件是一个xml文件,保存着测试的相关信息。


通过这个文件我们可以看到执行了多少个测试,PASS了多少个,fail了多少个等等信息。

上述MSTest用法只是最基本的用法,通常我们会指定运行哪个Test和测试结果的输出路径。示例如下:


我们只运行了其中一个测试方法,并且保存结果到指定的目录。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值