注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭研自动组

快乐耕耘,收获成长!

 
 
 

日志

 
 

基于White+Nunit的客户端框架搭建——Listener实现  

2011-02-25 14:25:06|  分类: 技术调研 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

作者: 都都

到目前为止,整个客户端测试框架的雏形已经基本建立,能完成写用例,执行用例,获得用例执行结果等操作。但是,与web测试框架一样,在用例执行过程中,我们还是需要加入一些操作,比如遇到用例失败需要发送邮件通知测试者,整个用例集合执行完毕,需要整理汇总执行结果,发送邮件,将执行情况写入数据库等,这些操作的实现就需要由程序——Listener来完成。NUnitListener需要以插件——Addins的形式实现。

有关NUnitAddins的开发,可以参考以下网址,目前只扩展了Listener,有需要的话也可以扩展其他功能。

http://www.simple-talk.com/dotnet/.net-tools/testing-times-ahead-extending-nunit/

NUnit的文档可知,NUnit提供了 EventListeners接口,该接口事件如下:

  • Run Start
  • Run Finished
  • Test Started
  •   Test Finished
  • Suite Started
  •   Suite Finished
  •   Unhandled Exception
  •   Test Output

我们所需做的只是实现该接口。

Listener扩展步骤:

1.        新建c#项目,选择类型:类库

2.        添加引用:nunit.core, nunit.core.interfaces, nunit.framewok

3.        新建类Listener继承 EventListener, IAddin

4.        实现IAddinInstall方法以及EventListener

代码如下:

        public bool Install(IExtensionHost host)

        {

            IExtensionPoint listeners = host.GetExtensionPoint("EventListeners");

            if (listeners == null)

                return false;

            listeners.Install(this);

            return true;

        }

        public void RunFinished(Exception exception)

        {            throw new NotImplementedException();        }

        public void RunFinished(TestResult result)

        {            throw new NotImplementedException();        }

        public void RunStarted(string name, int testCount)

        {            throw new NotImplementedException();        }

        public void SuiteFinished(TestResult result)

        {            throw new NotImplementedException();        }

        public void SuiteStarted(TestName testName)

        {            throw new NotImplementedException();        }

        public void TestFinished(TestResult result)

        {            throw new NotImplementedException();        }

        public void TestOutput(TestOutput testOutput)

        {            throw new NotImplementedException();        }

        public void TestStarted(TestName testName)

        {            throw new NotImplementedException();        }

        public void UnhandledException(Exception exception)

        {            throw new NotImplementedException();        }

5.        代码完成后编译,将生成的dll文件放入相同版本NUnit安装路径下的Addins文件夹下。

6.        启动NUnit执行测试, Listener中的相应事件将被触发。

  评论这张
 
阅读(714)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018