我用自动测试配置了一次,但最近我使用guard-rspec在后台运行我的规范。我确实有咆哮通知,但这需要阅读实际的通知文本,这在快速的红绿循环中会分散注意力。我更喜欢成功和失败的声音通知,但我找不到这种设置的任何现成示例。
问问题
560 次
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
更新
对于 Spork,上述直接包含在Guardfile
中将不起作用,因为 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
在Guardfile
. 接下来,您还需要sound_notifier
在 Spork 进程中加载。由于我不使用 Spork 我无法验证它,但是当我记得正确时发生在spec_helper.rb
:
Spork.prefork do
require 'spec/support/sound_notifier'
end
于 2013-06-10T16:14:26.733 回答