打算以后使用rspec 就行测试开发,由于第一次在项目中使用,所以,记录再次,便于以后查询
本文的记录参考了开源软件 angle-nest 和 Ruby-China源码
- 安装gem
group :development, :test do
gem 'cucumber-rails', :require => false
gem 'database_cleaner'
gem 'factory_girl'
gem 'factory_girl_rails'
gem 'rspec-rails'
gem 'capybara'
gem 'delorean'
end
- install
rails generate rspec:install
- 运行测试
rake spec
- 修改helper文件
config.mock_with :rspec
config.use_transactional_fixtures = false
config.include Delorean
DatabaseCleaner.strategy = :truncation
config.before do
DatabaseCleaner.clean
end
- 安装watchr
gem 'watchr'
- 新建.watchr文件
def run_spec(file)
unless File.exist?(file)
puts "#{file} does not exist"
return
end
puts "Running #{file}"
system "bundle exec rspec #{file}"
puts
end
watch("spec/.*/*_spec.rb") do |match|
run_spec match[0]
end
watch("app/(.*/.*).rb") do |match|
run_spec %{spec/#{match[1]}_spec.rb}
end
解析
一旦spec/目录下有以_spec.rb结尾的文件发生了改变,watchr便会自动运行run_spec 方法来对该文件进行测试。
一旦有app/目录下有.rb结尾的文件发生了改变,立即调用run_spec 方法来执行该文件所对应的spec测试文件。
run_file 通过文件名来检查spec文件是否存在, 然后来运行该spec (调用 system)
- 运行
watchr .watchr
- 增加spark提升速度
gem 'spork', '1.0.0rc3'
- 运行
spork --bootstrap
- 修改spec_helper.rb
第一,上传 rubygems,因为我们已经有bundler了
修改spec_helper.rb文件如下
require 'spork'
#uncomment the following line to use spork with the debugger
#require 'spork/ext/ruby-debug'
Spork.prefork do
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
config.mock_with :rspec
config.use_transactional_fixtures = false
config.include Delorean
DatabaseCleaner.strategy = :truncation
config.before do
DatabaseCleaner.clean
end
end
end
Spork.each_run do
# This code will be run each time you run your specs.
end
- 修改.rspec文件,增加如下代码
--drb
- 运行spork
spork
- 在运行 watchr .wtachr 速度加快了
- 清除test环境下的缓存,编辑
config/environments/test.rb
config.cache_classes = false
分享到:
相关推荐
笔记本指南假定您使用的是RSpec 3或更高版本。 您可以使用生成该指南的PDF副本 ,和一个HTML复制使用下面的命令: # Generates README.pdfasciidoctor-pdf -a allow-uri-read README.adoc# Generates README....
安装$ gem install rspec-webservice_matchers你得到什么这些新的RSpec匹配器: 笔记be_up 寻找200,但最多可追踪4次重新导向be_fast 检查Google 分数是否大于WEBSERVICE_MATCHER_INSIGHTS_KEY 85。 WEBSERVICE_...
具有RSpec,Capybara和Cucumber的测试驱动Rails 我在TDD Rails上的Pluralsight 课程中的笔记。 常用命令命令描述bin/rails s 启动Rails服务器bin/rails c 启动Rails控制台bundle exec rake routes 列出所有路线bin/...
重要笔记ChefSpec需要Ruby 2.2或更高版本以及Chef 12.14.89或更高版本! 本文档对应于master分支,该分支可能尚未发布。 请检查最新git标签的自述文件或您的版本文档的gem来源! ChefSpec旨在至少与Chef的两个最新...
嵌套收藏游戏时间! 这是三个精选问题的简短回购,它们突出了对嵌套集合的有用操作。 主文件nested_collection_practice...笔记 这些问题来自演讲练习和来自图灵软件与设计学院的advanced_nested_collections.rb练习。
去污该项目旨在了解和实践使用Ruby on Rails开发的API的结构。 该项目正在使用gem 调整协议以符合的规范。依存关系Ruby 2.6.3版Rails版本6.0.3开始... rails db:migrate RAILS_ENV=test 并使用以下命令运行测试: rspec
笔记 监听程序守护程序或前台派生的监听程序的派生器loader应该加载,setsid,然后退出所有工作程序,然后具有相同的sid和gid,并且没有父pid工人pgid = 100 sid = 100 webkit_server工人pgid = 100 sid = 100 ...
捆绑执行rspec规格 笔记 由于reuqest可能需要很长时间,因此会在后台处理CSV导入。 当前,无法知道有多少记录成功。 目前,角色可以是用户,sales_rep或技术人员,但可以轻松扩展 数据库体系结构使用常见的电子商务...
statgit2 生成Git开发统计信息,重启 。 跑步 npm install ...为了处理大型代码库,statgit2允许您长时间进行分析拆分:使用--max或--limit开关可通过自动化作业逐步建立您的开发统计信息。 例子
生成的类应能够按以下方式使用,并且还应符合此处随附的RSpec规范。 笔记 覆盖method_missing方法,并使用它来拦截对不存在的方法的调用。 每个不存在的方法都应成为标准的HTML标记: 例子 require 'xhtml_builder' ...
挑战时间:周五、全天 + 周末(如果需要)随意使用谷歌、你的笔记、书籍等,但要完成你自己的任务 重新打开 Array 类或子类。 重写注入方法。 首先为它编写一个测试。 不要担心返回枚举器,假设块总是以不同的方式...
后端:Ruby on Rails 测试:Rspec,Guard,Spork,Capybara 用法 更新宝石 bundle intall bundle update 您可能需要通过运行来迁移数据库 bin/rake db:migrate 然后通过以下方式启动服务器 rails s 您的网站将位于 ...
谷歌师兄的leetcode刷题笔记应用学院 此存储库包含我为 App Academy 2016 年 11 月队列工作的文件。 每日课程作业和家庭作业 第 1 周(Ruby) - 枚举练习和幽灵游戏 - 第 2 场记忆游戏和数独 - 递归练习和单词链 - ...
周一早晨安顿下来,确保一切都已安装并正常工作(Ruby、Rails、RSpec、SeeingIsBelieving、互联网) 弄清楚我们需要完成什么才能使课程取得成功通过探索真正了解 Ruby下午完成对象模型介绍周二早晨过程讨论还讨论...
笔记 HashMap VS HashSet HashMap是Map的实现,其中键被映射到值。 HashSet是Set的实现,其中每个元素都是唯一值。 测验 要运行RSpecs : 叉子/这个仓库 在项目目录中运行bundle install 在目录中(在lib和spec ...
在Rails项目中简单使用github action信息网路:Rails 6.0.0 数据库:PostgreSQL 测试:Rspec笔记# initialize Rails apprails new rails-github-actions-example --skip-turbolinks --skip-spring --database=...
Ruby简介更改温度以触发自动平分器**更改温度...以了解代码文件和测试文件在项目的目录层次结构中的位置使用RSpec单元测试工具运行单个测试或测试套件了解RSpec单元测试的基本语法概述您可能会找到有用的。 此分配的存
要运行Capybara测试,请输入rspec 。 在运行Capybara套件之前,使所有Jasmine测试通过。 背景 在经济学中,可以定义为价格的普遍上涨而货币的购买价值下降。 客观的 您将使用JavaScript制作通货膨胀计算器。 它将...