关闭

(二)使用 NUnit, NUnitAsp, Rhino Mocks 和 Fit 创建BasicSample.Tests

发表于:2007-10-19 16:02

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

为表现层使用Fit Test Doubles

        当测试领域层时,用双重测试来模拟NHibernate 与数据库的通信。同样,有些时候,当测试表现层时,使用同样的方法很方便。假设你和一个极其投入的具有创造性的队伍正在研究ASP.NET 项目。这些具有创造性的人们,穿着黑色的套领毛衣,管理着应用程序的外表和感觉。但是当他们研究图像配置时,不能阻止你开发一个表现层 ,以此来查看领域-逻辑和数据访问结果,并以此来得到客户回馈,但是仍然能推迟决定,例如:模板页建立、强制安全,和其他特殊表现层的决议的时间。在其它方案中,假设你正在研究一些复杂的商业规则,你希望在没必要写一些单元测试来压缩每一个细小的变化的情况下,你的客户也能证明。 FIT (Framework for Integrated Test)是开发者的工具。开发者利用此工具迅速地伪造表现层 ,并且在开发者和项目赌金保管者之间提供一个更合作的努力。正如Fit 站点所显示的,完成这个就知道软件应该做什么以及它做了什么。它自动地把顾客的期望比喻成实际结果。可以说,是一个工具,例如:这个。不是基本的,也不要求这个工具来检测NHibernate;但是需要重视测试驱动发展的重要性,一个像Fit的工具,例如,如果使用得正确,它就会像NUnit一样,可应用到软件质量中。

        首先查看Fit测试结果,你能使用WinFITRunnerLite,WinFITRunnerLite它在Windows客户里运转Fit测试,与NUnit, or FitNesse的方法相似,同样它提供一个基于网页的wiki,用来修改测试输入和检查Fit测试结果。尽管过程烦琐一些,FitNesse提供了一个灵活的结构,允许客户参与确认译码逻辑以及应用程序流程。下面的屏幕显示了一个简单的例子,例子中显示了你期望通过使用FitNesse从运转计算器测试中看到这个输出情况。 
      

        尽管这篇文章没有Fit测试的执行例子,我期望你能对学习更多的这种强有力的结构感兴趣。除了前面列出的网站,可能在Rick Mugridge 和Ward Cunningham共同编写的Fit for Developing Software这篇文章中,有与Fit的使用以及和Fit的扩展有关的广泛信息。

通过NUnitAsp运行ASPX "Smoke Tests"

        在这一点上,我们单元测试了领域层、数据访问层,而且我们学到了通过使用Fit,检测粗糙表现层 ,为了把将客户连接得更紧密。现在是ASPX 页码检测它们自己得时候了。NUnitAsp是一个类库用于执行这些(Aspx)单元测试。通过使用NUnitAsp和你的WebForms测试,尽管你能熟练地在WebForms测试中使用NUnitAsp,但是我发现:对于从连续综合服务器中运转一个"冒烟测试"来证明没有页码被破坏,NUnitAsp是最好的。再进一步考虑往往会导致许多相关单元测试码的维护。本质上,因为这些HTTP很慢,它们很少运转,因此只是被轻轻地维护着,因此它们必须尽可能保持得越简单。

        BasicSample.Tests/Web/WebSmokeTests.cs展示这些单元测试得样本。尽管极其简单,这些冒烟测试经过很长时间来证明了:你的表现层是可以作出响应的,数据库通信正确地工作,NHibernate HBMs,在极大程度上,是没有错误的。作为一个补充的红利,如果冒烟测试在被安置后,迅速地被对准在生产环境中,它将预载所有ASPX页码,为下一个访问者提供一个更能响应的经验。在你的应用程序里,你应该为每一个URL可访问的网页提供一个冒烟测试。为了帮助组织它们,在冒烟测试的每一个分组中,建立一个独立的测试类型。例如:网页的管理部分的冒烟测试应该能在一个被叫做AdminSmokeTests.cs. BasicSample.Tests/Web/WebSmokeTests.cs文件中找到。

BasicSample.Core for Defining the Domain Layer

        BasicSample.Core项目包括领域模型以及NHibernate HBM文件。这个项目也包括接口,在BasicSample.Core.DataInterfaces命名空间里描述数据访问对象。(可论证的是:在逻辑上,HBM 文件属于BasicSample.Data组件,但是在物理上,它们描述的在封装中HBM文件与接近领域对象所带来的方便超过损害。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号