1

过去,我运行过 Rails + RSpec + autotest。现在我已经升级到 ruby​​ 2.0,我想在非 Rails 环境中使用 minitest(我使用的是 Padrino / DataMapper)。我敢肯定,我不是唯一一个想要这个的人。

真正有用的安装和配置东西的简洁配方,所以简单的命令:

$ autotest

或者

$ bundle exec guard

将开始测试 /test 下的所有内容。我已经搜索过 SO 和 InterWebs,但还没有找到这样的食谱。食谱应包括:

  • 您应该在 Gemfile 中包含哪些宝石?
  • 你运行什么命令来设置环境?
  • 您需要创建哪些配置和支持文件(Rakefile?.autotest?等...)
  • 测试文件require 'test_helper'处理重复功能的一种方法

额外的功劳展示了如何配置咆哮和 spork 以获得完整的 XP 体验!

4

1 回答 1

3

嗯,我不使用自动测试,现在看来 Guard 是最合适的,所以:

# Add to Gemfile
group :development do
  gem 'terminal-notifier-guard'    # or libnotify for linux
  gem 'rb-fsevent', require: false # or rb-inotify for linux
  gem 'guard-minitest'
  gem 'minitest'
end

# From bash
$ bundle update
$ guard init minitest # or bundle exec guard init minitest

# Edit the GuardFile, mine looks like:
guard 'minitest' do
  # with Minitest::Unit
  watch(%r|^test/(.*)\/?test_(.*)\.rb|)
  watch(%r|^app/models/(.*)\.rb|)  { |m| "test/test_#{m[1]}.rb" }
  watch(%r|^lib/(.*)([^/]+)\.rb|)  { |m| "test/test_#{m[2]}.rb" }
  watch(%r|^test/helper\.rb|)      { 'test' }
end

# Here my test helper.rb. /test/helper.rb
ENV['PADRINO_ENV'] ||= 'test'
require_relative '../config/boot'
require 'minitest/autorun'


# Have fun!
$ bundle exec guard
于 2013-03-24T02:43:03.457 回答