我通过我在网上找到的脚本把它放在一起,但是我不确定为什么我的puts命令没有执行系统命令?它只是在未经执行的终端中。当我尝试系统(“rspec规范”)时,它工作但我无法捕获输出。
def run(cmd)
`#{cmd}`
end
def run_spec_files
system('clear')
result = "rspec spec"
puts result
growl(result)
end
def growl(message)
growlnotify = `which growlnotify`.chomp
unless growlnotify.empty?
title = "Test Results"
options = "-w -n Watchr -m '#{message}' '#{title}'"
run("#{growlnotify} #{options} &")
end
end
watch( 'lib/(.*)\.rb' ) { run_spec_files }
答案 0 :(得分:5)
puts
只需打印出您传递的字符串即可。它不会在shell中执行它。你的run
方法中的反引号将在shell上执行。试试这个:
def run_spec_files
system('clear')
result = run("rspec spec")
puts result
growl(result)
end