[基础]Ruby中使用Rspec 和Rake(非Rails环境)
来源:互联网 发布:applyasync python 编辑:程序博客网 时间:2024/05/17 01:28
背景:本文使用mac版本,使用rbenv管理ruby版本,文中程序运行在ruby 2.1.0版本
1、本文使用的文件目录结构如下
.|-- Gemfile|-- Gemfile.lock|-- Rakefile|-- lib| `-- calculator.rb`-- spec |-- calculator_spec.rb `-- spec_helper.rb
2、Gemfile内容
source 'https://rubygems.org'gem 'rake'gem 'rspec'
创建Gemfile后通过bundle install可以下载相应rake和rspec的版本。
3、Rakefile的内容
require "rspec/core/rake_task"task :default => 'spec'desc "Run all specs"RSpec::Core::RakeTask.new(:spec) do |t|t.rspec_opts = "--colour"t.pattern = "spec/*_spec.rb"end
这里创建rake任务,这里创建了一个spec的rake任务,且使得default任务指向spec任务
Dir.glob(File.join(File.dirname(__FILE__), %w(.. lib *.rb ))).each do |file| require fileendspec_helper文件的目的是加载lib中的所有rb文件
5、calculator_spec.rb文件
require 'spec_helper'describe Calculator do it "should add two number correctly" doexpect(Calculator.add(1,2)).to be 3endend
6、calculator.rb文件
class Calculatorclass << selfdef add(a,b)a+benddef sub(a,b)a-bendendend
创建好所有文件后,在Rakefile文件所在目录,执行rake spec或直接rake,就可以看到测试结果
另附带介绍一个ruby的debug工具byebug
在上述文件的基础上,Gemfile中增加gem 'byebug', '~> 3.2.0'
calculator.rb文件修改为:
require "byebug"class Calculatorclass << selfdef add(a,b)byebuga+benddef sub(a,b)a-bendendend
运行rake spec后就会发现进入命令行调试状态下,按n或s可以控制程序往前运行。也可以查看变量的值。
0 0
- [基础]Ruby中使用Rspec 和Rake(非Rails环境)
- ruby on rails中使用 RSpec 进行行为驱动测试
- ruby on rails rspec
- Ruby on Rails,rake工具使用和数据库migrations迁移的概念
- Ruby On Rails--rake 任务中定义方法的陷阱
- Ruby on rails开发从头来(windows)(二十八)- 使用Rake运行测试
- 使用Rspec进行rails测试详解1-搭建测试环境
- Ruby on rails /rspec undefine 'visit'
- Ruby on Rails中的Rake教程(Rake如何把我灌醉!)
- rails rspec中安装和配置database cleaner
- Ruby on Rails中的Rake教程
- rails中创建rake任务
- [ruby]Rails中使用bootstrap
- rails测试之RSpec环境搭建
- rails 下搭建RSpec测试环境
- ubuntu 14.04中安装ruby on rails环境(填坑版)
- ruby on rails学习第5篇:rake的用法(转载)
- 整理Ruby相关的各种概念(rvm, gem, bundle, rake, rails等)
- [LeetCode]4Sum
- 领导团队(1)-什么是团队
- UISplitViewController基本使用方法
- 成为Java GC专家系列(1) ——Java垃圾回收机制
- 使用JDBC连接数据库
- [基础]Ruby中使用Rspec 和Rake(非Rails环境)
- WAP中利用截取手机号码达到自动登入的一段源码
- iOS的基本设计模式
- 设计心理学-以用户为中心的设计
- list数据打印
- git clone: fatal: Unable to find remote helper for 'https'
- 成为Java GC专家系列(2) ——监控Java垃圾回收
- 某些windows内核dll
- java 复习 (六)