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
分享到:
相关推荐
### Rails 4 Test Prescriptions — 构建健康代码库 #### 一、书籍概述与价值 《Rails 4 Test Prescriptions》是一本专注于教授开发者如何为Rails应用编写测试的书籍,作者Noel Rappin凭借多年的经验提炼出了一...
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 强调了测试对于构建稳定、可扩展的 Rails 应用的重要性,并提供了实用的指导来帮助开发者编写有效的测试。 #### 选择合适的测试策略 本书深入探讨了如何根据项目的需求选择最佳的测试...
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 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
Rails 5 Test Prescriptions Build a Healthy Codebase 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
Rails 5 Test Prescriptions Build a Healthy Codebase 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
在"rails-builds-test-源码.rar"这个压缩包中,我们很显然会接触到一个使用Rails框架构建的测试项目。接下来,我们将深入探讨Rails的几个关键知识点,以及如何通过源码来理解其工作原理。 1. **Gemfile与Gemfile....
test_dummy Test Dummy是一个易于伪造的数据生成器库,能够按需创建... 大多数应用程序框架都提供了某种测试帮助程序基础,例如Rails中的test/test_helper.rb或许多gem模板中的test/helper.rb 。 在适当的位置在其
《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...
Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...
我的朋友[Felipe Cabargas]( )和[I]( )正在用RoR构建SAAS(软件即服务)。 我们有一个与重要客户合作的MVP,但是我们的第一个问题出现在平台上。 >平台不稳定,因为我们的端点没有优化 因此,我将测试许多技术...
8. **test**:测试代码,Rails支持TDD(Test-Driven Development)和BDD(Behavior-Driven Development)。 9. **tmp**:临时文件存储,如缓存、session等。 10. **vendor**:第三方库和依赖项的存放位置。 在...
6. **bin/**:包含Rails的可执行脚本,如启动服务器(rails server)和运行测试(rails test)。 7. **public/**:存放静态资源,如HTML、CSS、JavaScript文件和图片。 8. **lib/**:用于存放自定义库和扩展代码。...
5. 测试框架:Rails 内置了测试支持,包括 Unit 测试、Functional 测试和Integration 测试,使用 RSpec 和 Test::Unit 等工具,确保代码的质量和可维护性。 6. 开发者工具:Rails 2.3.x 包含了 Rails Console,一个...
Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...
9. **测试驱动开发(TDD)和集成测试**:Rails鼓励开发者使用Test::Unit或Rspec进行测试,确保代码质量。 10. **Rails发电机(Generators)**:自动化生成常见的代码结构,如模型、控制器、迁移等,提高开发效率。 ...
4. **测试驱动开发(Test-Driven Development, TDD)**:Rails鼓励使用TDD,提供了Rspec和Capybara等强大的测试工具,确保代码质量。 5. **部署(Deployment)**:完成开发后,应用可以通过如Heroku或AWS等云平台...