Rake::TestTask 介绍
2019独角兽企业重金招聘Python工程师标准>>>
Rake::TestTask 介绍
通常我们创建一个新的项目的时候,会建立一个test
或者spec
的文件夹来存放测试的文件,运行这些测试需要单独的命令,比如在项目目录下执行rspec
.或者ruby test.rb
等等,这些测试的工具中大多也都提供了更方便的方式来运行这些测试,但是如果你喜欢用Rake
的话,那就有另外一个选择Rake::TestTask
。
先上代码:
require "rake/testtask"Rake::TestTask.new do |t|t.libs << "test"t.pattern = "test/*_test.rb"t.verbose = trueend
将以上代码保存或添加到项目目录中的Rakefile
,然后在这个目录下执行rake test
,你就可以看到如下输出(这里我用的测试框架是Minitest
):
/home/lizhe/.rvm/rubies/ruby-2.2.2/bin/ruby -I"lib:test" "/home/lizhe/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/rake/rake_test _loader.rb" "test/person_test.rb"Run options: --seed 535# Running:.Finished in 0.000558s, 1793.5482 runs/s, 1793.5482 assertions/s.1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
如果去掉最上面代码中的t.verbose = true
的话:
require "rake/testtask"Rake::TestTask.new do |t|t.libs << "test"t.pattern = "test/*_test.rb"end
则输出结果就不会显示执行的ruby
命令,如下:
Run options: --seed 17527# Running:.Finished in 0.001629s, 613.9689 runs/s, 613.9689 assertions/s.1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
这里再介绍一下Rake::TestTask
的配置选项:
libs
会被添加到$LOAD_PATH
中;pattern
测试文件的名称匹配,还有另外一个叫做test_files
,这两个使用哪一个都可以,如果同时使用的话,会合并两者;verbose
输出这个Rake::TestTask
执行的具体Ruby命令;options
指定给测试框架的参数,类型为数组,也可以通过传入TESTOPTS
命令行参数达到相同的目的;ruby_opts
执行ruby命令时的参数,类型为数组,比如可以在指定为-rtesthelper
,避免每个测试文件重复require "test_helper"
;name Rake Task
的名称,默认是test
;
还有一点,在我们执行rake test
的时候,是可以传入一些参数的,比如我执行执行test/dummy_test.rb
这个测试,那么就可以指定TEST参数:
rake test TEST=test/dummy_test.rb
还可以通过TESTOPTS
给你使用的测试框架传入参数,比如Minitest
有-v和-p两个参数,那么就可以这样传进去:
rake test TESTOPTS="-vp"
参考链接:http://ruby-doc.org/stdlib-2.2.2/libdoc/rake/rdoc/Rake/TestTask.html
本文系OneAPM工程师编译整理。OneAPM是中国基础软件领域的新兴领军企业。专注于提供下一代应用性能管理软件和服务,帮助企业用户和开发者轻松实现:缓慢的程序代码和SQL语句的实时抓取。想技术文章,请访问OneAPM官方技术博客。
转载于:https://my.oschina.net/oneapmofficial/blog/421213
Rake::TestTask 介绍相关推荐
- 总结 | 如何测试你自己的 RubyGem
如何测试一个Gem gem 开发完了,想要给别人用,那就需要测试啊,测试一个 gem 其实很简单,这里我们用 minitest 为例, rspec 也一样适用.先来看看我们当前这个 gem 的目录结构 ...
- 学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等)
这篇文章主要介绍了学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等),需要的朋友可以参考下 Ruby 这个就不用多说了 RVM 用于帮你安装Ruby环境, ...
- Spring 使用介绍(十二)—— Spring Task
一.概述 1.jdk的线程池和任务调用器分别由ExecutorService.ScheduledExecutorService定义,继承关系如下: ThreadPoolExecutor:Executo ...
- Centos 7 Puppet之foreman介绍安装测试
一.简介 1.前言(引用一下网上的资料) 随着企业的 Linux 系统数量越来越多,管理问题便成为一个相对麻烦并需要急 迫解决的问题,这里有 2 个 Key Message:1)统一管控体系非常重要, ...
- rails rake和示例
一篇看到的讲解得不错的文章 http://blog.csdn.net/clskkk2222/article/details/6735365 这里还有一些例子: Rake Documentation ...
- rest规范 ; restful 风格; gradel介绍 ; idea安装 ;
[说明]上午整理了一下心情:下午继续开始任务,了解了restful,知道了那个牛人的博士论文,下载了管理工具gradle,并且部署了环境:晚上安装了idea继承环境并且建了一个简单的gradle项目( ...
- 【GitLab】GitLab CI/CD 模型部署自动化超详细介绍
文章目录 一.GitLab 二.GitLab-CI/CD 2.1 gitlab-ci.yml 2.1.1 基础概念 2.1.2 创建 yml 文件 2.1.3 yml 文件中的关键字 2.2 GitL ...
- bboss quartz定时任务使用案例介绍
bboss quartz定时任务使用案例介绍 本文demo gradle工程源码地址: [url]https://github.com/bbossgroups/quartzdemo[/url] [si ...
- DevOps工具链介绍
DevOps工具链介绍 简介 这篇文章主要分享关于DEVOPS 工具链的相关知识. 关于DevOps和工具 关于DevOps及其相应工具的注意事项: · 目标是持续改进 · 你不能买DevOps · ...
最新文章
- Opengl-基本概念-着色器(都是固定的)
- MySQL数据库权限管理
- ASP.NET Core MVC 配置全局路由前缀
- manifest php,Laravel PackageManifest.php: Undefined index: name
- Ubuntu安装特定版本安装包
- 演讲(1)----8个有趣故事
- Netty入门系列(2) --使用Netty解决粘包和拆包问题
- 数据结构和算法——八种常用的排序算法------基数排序的优化(队列实现)
- 计算机产品校园营销方案,惠普笔记本电脑校园营销策划方案.doc
- 教程:如何制作一个多功能U盘
- js 删除QQ空间的说说
- 大型网站架构“三高”(高并发、高可用、高性能)
- linux权限 rwxr xr x,小白求助:权限rwxr-xr-x是啥意思?
- 教你同时分析圆通快递多个单号的物流情况
- Tcl/Tk--文件操作
- Spring5:p命名和c命名空间注入
- 练习篇:完整实践——实现一个简易日记本应用
- 回顾知识点:计算机网络篇
- 宋婷科幻作品连载 | 算力:幻想几何学(一)
- 《微力无边》经典语录