免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2237 | 回复: 0
打印 上一主题 下一主题

rails test prescription 随感 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-01 12:36 |只看该作者 |倒序浏览
转:easylife



rails test prescription 随感






编程
controller测试
  1 看一个普通,基本的用户请求是否能引发预计的ActiveRecord正常工作,需要的数据是否传给了view
  2 检测controller是否能够适当地处理不合格式的请求
  3 检测权限系统是否正常工作,比如一个用户请求了登录或者特定角色才能访问的页面

view测试
  1 view不报错
  2 view中的数据是否是你计划生成的数据
  3 检测根据角色动态生成的部分,比如:登录链接,管理员链接等是否正确显示

集成测试与controller测试的区别
  需要对session,cookie等跨action的数据的正确性进行测试

测试层次
  1 model
  2 controller
  3 view(helper)
  4 集成
  5 验收
  要遵照mvc结构。反例是如果将属于model层的东西放到controller中,那么,你至少需要模拟一个http请求,
才能开始测试

测试写到什么时候够了
  我只能说,你可以在rcov中达到100%,但是rcov(或者其他测试工具)的计算方式是有问题的,你永远无法100%
测试,就像你永远也写不出完美的软件一样,够好,就可以了

什么时候使用mock/stub
  1 解决依赖性
    比如:你在写一个支付接口,但是现在你在开发阶段,还不想和银行打交道
  2 解决某些情况
    比如:你写了一个扔色子系统,随机生成1-6的数字,而你需要对掷出6点时的程序进行测试
         测试程序的失败情况,而失败情况可以用stub轻松生成
  3 测试过程时,未实现的功能的替代
  4 Interface Discovery
    设计api时,你需要它

一个测试不要使用太多mock或者stub,使用三个以上就要注意了

是否测试负面情况
  上帝保佑我们有足够的时间

先写测试还是后写测试
  如果你接下来要做的只是验证正确性,那么你可以后写测试,不过,验证正确性只是TDD的目的之一,你至少要在心
里记住,先写测试可以改善代码质量

mock类库
  rails-test-prescription 7.7 已做出了明了的比较

你至少需要熟悉的测试工具
  1 rspec
  2 cucumber
  3 capybara
  4 factory-girl
  5 database-cleaner
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP