2

autotest で一度構成しましたが、最近は Guard-rspec を使用してスペックをバックグラウンドで実行しています。うなり声の通知がありますが、これには実際の通知テキストを読む必要があり、高速の赤と緑のサイクル中に気が散ります。成功と失敗の音による通知を希望しますが、そのようなセットアップのすぐに使用できる例が見つかりません。

4

1 に答える 1

1

そのようなセットアップ例も見たことがないので、 Notifierを実装する必要があります:

module Guard::Notifier::Sound
  extend self

  def available?(silent = false, options = {})
    true
  end

  def notify(type, title, message, image, options = { })
    puts 'Play sound: ', type
  end
end

このコードを に直接配置しGuardfile、登録して、次のコードで使用できます。

Guard::Notifier::NOTIFIERS << [[:sound, ::Guard::Notifier::Sound]]
notification :sound

もちろん、実際のサウンド再生を実装する必要があります。簡単な実装は、次のような外部プレーヤーにフォークすることです。

def notify(type, title, message, image, options = { })
  fork{ exec 'mpg123','-q',"spec/support/sound/#{ type }.mp3" }
end

アップデート

GuardfileSporkでは、Spork は別のプロセスで実行され、それを評価しないため、上記の への直接の組み込みは機能しません。spec/support/sound_notifier.rbたとえば、次のような内容のサポート ファイルを作成する必要があります。

module Guard::Notifier::Sound
  extend self

  def available?(silent = false, options = {})
    true
  end

  def notify(type, title, message, image, options = { })
    fork{ exec 'mpg123','-q',"spec/support/sound/#{ type }.mp3" }
  end
end

Guard::Notifier::NOTIFIERS << [[:sound, ::Guard::Notifier::Sound]]

そしてちょうど持っている

require 'spec/support/sound_notifier'
notification :sound

Guardfilesound_notifier次に、Spork プロセスにもロードする必要があります。私は Spork を使用していないため、確認できませんが、正しく覚えていると次のようになりspec_helper.rbます。

Spork.prefork do
  require 'spec/support/sound_notifier'
end
于 2013-06-10T16:14:26.733 に答える