博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rails 5 Test Prescriptions 倒数第2章spring gem 如何让测试变快。分离rails(只有原理)...
阅读量:5020 次
发布时间:2019-06-12

本文共 1252 字,大约阅读时间需要 4 分钟。

Spring speeds up development by keeping your application running in the background

Rails程序自动增加:spring和spring-watcher-listen。

增加一个spring-commands-rspec gem 

 

$ spring status  检测是否启动spring 

Spring is running:
 7424 spring server | gatherer | started 220 hours ago
24917 spring app    | gatherer | started 65 hours ago | development mode

$ spring help可以检测版本和spring命令集合

手动安装gem 'spring-commands-rspec'后,会增加一个spring rspec命令 

使用这个命令可以快速运行测试,不过作者也说了,测试本身写的好不好更决定速度。 

 

 


 

 

Writing Faster Tests by Bypassing Rails 

 

5个测试分组:

 

  1. 集成测试,需要全部Rails stack
  2. 只需要Active Record和数据库
  3. 请求测试,需要ActionPack,或者也需要ActiveRecord,也可能接触数据库看它们是否stubbed.
  4. 只使用ActiveRecord不接触database 
  5. 第三方测试,不需要rails(⚠️我只看了看,没实际经验)

 

 

Prescription :

Rails不是你的程序,它是一个开发框架,除非你就是开发Rails的并工作在Basecamp大本营。


 

Why Speed Is Important 

 

作者不是说所有测试都需要在15秒内完成。对大多数程序来说这是不可能的,因为集成测试很重要不能不用,这个很花费时间。

作者是说如果你有一个可靠的途径只花费少量秒数来运行相对的测试 ,你测试的价值会改进(时间成本下降)。

可以用Spring,RSpec meatdata,或者标签等等。

 

Prescription 

如果当测试运行时, 你有很多时间来打断焦点,那么你没有得到TDD开发的全部价值。 

 


 

 

 

Why Separation from Rails Is Useful 

 

 

主要好处是写测试避免用rails可以鼓励你构件代码来更好的管理增长的复杂度。快速测试只是附加效果。 


 

Rails test Precriptions, Hold the rails

 

隔绝的基本思想 :隔绝各个对象;从需要加载rails的rails功能中隔绝你的代码。

隔绝:不同的对象之间的交互所使用的方法越少越好。理想状态是,对象不会知道其他对象在系统中的内部结构。 

 

❌书中给的案例,不能正确连接数据库。略过这个章节。

 

其他测试书籍有相关内容 

 

转载于:https://www.cnblogs.com/chentianwei/p/9154337.html

你可能感兴趣的文章
SpringMVC + Spring + Mybatis+ Redis +shiro以及MyBatis学习
查看>>
Game Programming Gems TOC (ZZ)
查看>>
Websocket草案10协议
查看>>
iOS开发 贝塞尔曲线UIBezierPath
查看>>
JQuery
查看>>
window配置右键菜单
查看>>
appium——启动app准备操作
查看>>
如何用git将项目代码上传到github
查看>>
linux根据进程pid查看进程详细信息
查看>>
PDO
查看>>
URL重写 urlrouting
查看>>
Tyvj1305最大子序和(单调队列优化dp)
查看>>
单链表的各项常规操作
查看>>
DevExpress v18.1新版亮点——WPF篇(二)
查看>>
Charles使用(二)
查看>>
实验五
查看>>
SpringBoot-目录及说明
查看>>
hibernate 单向 n-n
查看>>
20180419开发日志
查看>>
微软的STRIDE模型
查看>>