`
easylife
  • 浏览: 14768 次
  • 性别: Icon_minigender_1
  • 来自: 忘记
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

0
1
分享到:
评论

相关推荐

    Rails 4 Test Prescriptions

    ### Rails 4 Test Prescriptions — 构建健康代码库 #### 一、书籍概述与价值 《Rails 4 Test Prescriptions》是一本专注于教授开发者如何为Rails应用编写测试的书籍,作者Noel Rappin凭借多年的经验提炼出了一...

    rails 5 test prescriptions build a healthy codebase

    Test the component parts of a Rails application, including the back-end model logic and the front-end display logic. With Rails examples, use testing to enable your code to respond better to future ...

    Rails 4 Test Prescriptions.pdf

    Rails 4 Test Prescriptions 强调了测试对于构建稳定、可扩展的 Rails 应用的重要性,并提供了实用的指导来帮助开发者编写有效的测试。 #### 选择合适的测试策略 本书深入探讨了如何根据项目的需求选择最佳的测试...

    Rails 4 Test Prescriptions(Pragmatic,2014)

    Rails 4 Test Prescriptions is a comprehensive guide to how tests can help you design and write better Rails applications. In this completely revised edition, you'll learn why testing works and how to...

    Rails 5 Test Prescriptions Build a Healthy Codebase epub

    Rails 5 Test Prescriptions Build a Healthy Codebase 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书

    Rails 5 Test Prescriptions Build a Healthy Codebase mobi

    Rails 5 Test Prescriptions Build a Healthy Codebase 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书

    Rails 5 Test Prescriptions Build a Healthy Codebase azw3

    Rails 5 Test Prescriptions Build a Healthy Codebase 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书

    rails-builds-test-源码.rar

    在"rails-builds-test-源码.rar"这个压缩包中,我们很显然会接触到一个使用Rails框架构建的测试项目。接下来,我们将深入探讨Rails的几个关键知识点,以及如何通过源码来理解其工作原理。 1. **Gemfile与Gemfile....

    test_dummy:Rails的简单伪造数据和模型工厂

    test_dummy Test Dummy是一个易于伪造的数据生成器库,能够按需创建... 大多数应用程序框架都提供了某种测试帮助程序基础,例如Rails中的test/test_helper.rb或许多gem模板中的test/helper.rb 。 在适当的位置在其

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    api_on_rails_test_performance:针对不同技术测试API on Rails性能

    我的朋友[Felipe Cabargas]( )和[I]( )正在用RoR构建SAAS(软件即服务)。 我们有一个与重要客户合作的MVP,但是我们的第一个问题出现在平台上。 >平台不稳定,因为我们的端点没有优化 因此,我将测试许多技术...

    rails 项目起步示例

    8. **test**:测试代码,Rails支持TDD(Test-Driven Development)和BDD(Behavior-Driven Development)。 9. **tmp**:临时文件存储,如缓存、session等。 10. **vendor**:第三方库和依赖项的存放位置。 在...

    基于ruby on rails开发示例源码

    6. **bin/**:包含Rails的可执行脚本,如启动服务器(rails server)和运行测试(rails test)。 7. **public/**:存放静态资源,如HTML、CSS、JavaScript文件和图片。 8. **lib/**:用于存放自定义库和扩展代码。...

    rails2.3.2

    5. 测试框架:Rails 内置了测试支持,包括 Unit 测试、Functional 测试和Integration 测试,使用 RSpec 和 Test::Unit 等工具,确保代码的质量和可维护性。 6. 开发者工具:Rails 2.3.x 包含了 Rails Console,一个...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    Rails相关电子书汇总

    9. **测试驱动开发(TDD)和集成测试**:Rails鼓励开发者使用Test::Unit或Rspec进行测试,确保代码质量。 10. **Rails发电机(Generators)**:自动化生成常见的代码结构,如模型、控制器、迁移等,提高开发效率。 ...

    中文版rails教程

    4. **测试驱动开发(Test-Driven Development, TDD)**:Rails鼓励使用TDD,提供了Rspec和Capybara等强大的测试工具,确保代码质量。 5. **部署(Deployment)**:完成开发后,应用可以通过如Heroku或AWS等云平台...

Global site tag (gtag.js) - Google Analytics