ayuminのあまり更新しないBlog

筆不精なのでめったに更新しません

Autotestがうまくいかない

先日からAutotest + RSpec + Growl(or Snarl)の環境を作成しようとしてるのですが、どうしてもautotestが不可解な動きをしてしまいます。

とりあえず、現状としては

C:\hoge
  .autotest
C:\hoge\lib
  foo.rb
C:\hoge\spec
  foo_spec.rb

という配置にしてfoo.rbやfoo_spec.rbが変更されたときにspecコマンドが動いて欲しいだけなのです。とりあえずspecコマンドは動いているが全然意図と違うテストをしているっぽいのです><

やりたいこと

  • ./spec下に配置したhoeg_spec をautotestで実行させたい
  • 実行結果をSnarlでポップアップさせたい
  1. 環境
# -*- ruby -*-
require 'autotest/rspec'
Autotest.add_hook :initialize do |at|
  if defined? Autotest::Rspec
    def at.ruby
      "#{super} -I.:lib:spec"
    end
  end
end

どうやら、環境変数を設定していなかったのが原因(?)みたいでした。
set RSPEC=true
してからautotestを実行すると無事にテスト駆動できるようになりました。