单元测试 – 如何将“完整堆栈”功能分解为验收,集成和单元测试
我是行为驱动开发的新手,我正在努力学习它.我正在使用MSpec&用于验收测试的Watin和用ASP.Net MVC 4进行单元测试的MSpec.我有一个简单的用户注册方案.
我想测试的东西无法使用Watin测试,例如发送电子邮件,检查用户是否存在等等.这些将是控制器测试的一部分.这是否意味着我的验收测试只会是当用户注册时他应该被重定向到主页?如何将整个过程分解为测试? 如果这些检查是在各种测试和不同级别实现的,那么如何获得MSpec提供的已实现所有功能的摘要报告?关于人们如何打破这些任务,然后他们如何获得集体报告等,我感到有点困惑. 解决方法
您的单元测试包括以下内容:
>如果未给出用户名,请测试注册用户的代码是否会引发异常. 基本上采用小单位的代码并测试它们. 对于验收测试,您将其提升到一个新的水平并集成这些功能以确保它们正常工作.所以你可以进行验收测试来检查整个注册功能: Given I am a new user When I complete the register user form Then I will be redirected to the home page Given I am a new user When I complete the register user form And I have not entered a valid password Then I will be shown an error message 或者该地区的某些东西. 就个人而言,我不是编写测试用户界面的测试的忠实粉丝,因为UI可以经常更改(意味着你必须修复被这些更改破坏的测试);再加上我觉得我通过编写单元测试然后进行验收测试来重复工作. 但是,ATDD可以使您受益,因为您可以与他们沟通您如何测试应用程序.向他们展示BDD测试(写入文本)而不是公共无效ValidatePassword_PasswordNotValid_ExpectFalse要容易得多. 这是您需要尝试ATDD以了解您是否会从中受益的情况之一. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |