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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值