2013-04-17 82 views
1

如果我的测试成功完成,那么驻留在我的build.sbt中的以下代码将执行。它播放了一个很好的小调,告诉我,我的测试成功完成,使我不再像肮脏的哈利一样盯着终端。在SBT中为测试失败执行任务依赖关系

test <<= (test in Test) map { result => 
    import java.io.File 
    import javax.sound.sampled._ 
    val clip = AudioSystem.getClip(); 
    val soundfile = new File("success.wav") 
    val inputStream = AudioSystem.getAudioInputStream(soundfile); 
    clip.open(inputStream); 
    clip.start(); 
    result 
} 

所以我开始我的测试〜测试和关闭它去。每次我在编辑器中点击保存,测试都会自动重新运行,如果它们通过,你就会在这里听到叮当声。

问题是:如果测试失败,我怎么能播放声音?目前它只是在失败时保持安静。

回答

1

请参阅Handling Failure。例如,

... test in Test mapR { 
    case Inc(inc: Incomplete) => 
    ... play failure sound ... 
    throw inc 
    case Value(v) => 
    ... play success sound ... 
    v 
} 
+0

这样做的伎俩,谢谢! – Jack