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 介绍相关推荐

  1. 总结 | 如何测试你自己的 RubyGem

    如何测试一个Gem gem 开发完了,想要给别人用,那就需要测试啊,测试一个 gem 其实很简单,这里我们用 minitest 为例, rspec 也一样适用.先来看看我们当前这个 gem 的目录结构 ...

  2. 学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等)

    这篇文章主要介绍了学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等),需要的朋友可以参考下 Ruby 这个就不用多说了 RVM 用于帮你安装Ruby环境, ...

  3. Spring 使用介绍(十二)—— Spring Task

    一.概述 1.jdk的线程池和任务调用器分别由ExecutorService.ScheduledExecutorService定义,继承关系如下: ThreadPoolExecutor:Executo ...

  4. Centos 7 Puppet之foreman介绍安装测试

    一.简介 1.前言(引用一下网上的资料) 随着企业的 Linux 系统数量越来越多,管理问题便成为一个相对麻烦并需要急 迫解决的问题,这里有 2 个 Key Message:1)统一管控体系非常重要, ...

  5. rails rake和示例

    一篇看到的讲解得不错的文章 http://blog.csdn.net/clskkk2222/article/details/6735365 这里还有一些例子: Rake Documentation  ...

  6. rest规范 ; restful 风格; gradel介绍 ; idea安装 ;

    [说明]上午整理了一下心情:下午继续开始任务,了解了restful,知道了那个牛人的博士论文,下载了管理工具gradle,并且部署了环境:晚上安装了idea继承环境并且建了一个简单的gradle项目( ...

  7. 【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 ...

  8. bboss quartz定时任务使用案例介绍

    bboss quartz定时任务使用案例介绍 本文demo gradle工程源码地址: [url]https://github.com/bbossgroups/quartzdemo[/url] [si ...

  9. DevOps工具链介绍

    DevOps工具链介绍 简介 这篇文章主要分享关于DEVOPS 工具链的相关知识. 关于DevOps和工具 关于DevOps及其相应工具的注意事项: · 目标是持续改进 · 你不能买DevOps · ...

最新文章

  1. Opengl-基本概念-着色器(都是固定的)
  2. MySQL数据库权限管理
  3. ASP.NET Core MVC 配置全局路由前缀
  4. manifest php,Laravel PackageManifest.php: Undefined index: name
  5. Ubuntu安装特定版本安装包
  6. 演讲(1)----8个有趣故事
  7. Netty入门系列(2) --使用Netty解决粘包和拆包问题
  8. 数据结构和算法——八种常用的排序算法------基数排序的优化(队列实现)
  9. 计算机产品校园营销方案,惠普笔记本电脑校园营销策划方案.doc
  10. 教程:如何制作一个多功能U盘
  11. js 删除QQ空间的说说
  12. 大型网站架构“三高”(高并发、高可用、高性能)
  13. linux权限 rwxr xr x,小白求助:权限rwxr-xr-x是啥意思?
  14. 教你同时分析圆通快递多个单号的物流情况
  15. Tcl/Tk--文件操作
  16. Spring5:p命名和c命名空间注入
  17. 练习篇:完整实践——实现一个简易日记本应用
  18. 回顾知识点:计算机网络篇
  19. 宋婷科幻作品连载 | 算力:幻想几何学(一)
  20. 《微力无边》经典语录

热门文章

  1. Linux的基础命令小总结(二)
  2. 无空头的链表代码:学生管理系统
  3. POJ 3133 Manhattan Wiring (插头DP)
  4. GNU make manual 翻译(七十三)
  5. 3.4.1 变量初始化
  6. E 做任务三(区间)
  7. textmetric结构
  8. Web---JSP-EL表达式
  9. 存储过程传入参数与表字段名相同时产生的问题
  10. 关于const记录类型全局变量赋初值的问题