如何设置微型测试?

我是一个相当新手的测试人员,但一直在努力提高Rails中TDD的性能

RSpec工作得很好,但是我的测试速度很慢。我听说MiniTest要快得多,MiniTest/Spec DSL看起来与我习惯于使用RSpec的方式非常相似,所以我想试试

但是,我在web上找不到任何提供如何设置和运行Minitest的演练的内容。我从RSpec的书中学习了如何测试,我不知道test::Unit或MiniTest应该如何工作。我的gem文件中有gem,我编写了一些简单的测试,但是我不知道把它们放在哪里或者如何运行它们。我想这是很明显的事情之一,没有人愿意写下来

有人能给我解释一下如何设置一些Minitest/spec文件并运行它们,这样我就可以比较Rspec的性能了吗

编辑

具体来说,以下是我最需要了解的基本知识:

  1. 您是否需要测试辅助文件(如spec\u helper),如果需要,如何创建它
  2. 如何运行minitest?似乎没有与rspec specrspec path/to/file_spec.rb等效的规范,我缺少什么

谢谢

这个问题类似于如何使用minitest运行所有测试

使用Ruby 1.9.3和Rake 0.9.2.2,给出如下目录布局:

Rakefile
lib/alpha.rb
规范/阿尔法规范rb

下面是alpha_spec.rb可能的样子:

要求“小型测试/规范”
要求“迷你测试/自动运行”#安排迷你测试运行(在退出处理程序中,所以它最后运行)
需要“alpha”
描述“Alpha”do
它“直呼你的名字”吗
Alpha.new.greet('Alice')。必须等于('hello,Alice'))
终止
终止

这里是Rakefile

需要“rake”
需要“rake/testtask”
Rake::TestTask.new do|t|
t、 模式='spec/***.\u spec.rb'
终止

你可以跑

  • 所有测试:rake测试
  • 一个测试:ruby-Ilib规范/alpha_规范rb

我不知道在minitest中使用spec\u helper.rb是否常见。似乎没有一种方便的加载方法。将此添加到Rakefile:

需要“rake”
需要“rake/testtask”
Rake::TestTask.new do|t|
t、 模式='spec/***.\u spec.rb'
t、 libs.push“spec”
终止

然后,spec/spec\u helper.rb可以包含各种冗余内容:

要求“小型测试/规范”
需要“微型测试/自动运行”
需要“alpha”

并且spec/alpha_spec.rb将冗余部件替换为:

需要“spec\u helper”
  • 所有测试:rake测试
  • 一个测试:ruby-Ilib-Ispec spec/alpha_spec.rb

发表评论