在SBT中执行测试失败的任务依赖性

时间:2013-04-17 10:13:21

标签: scala sbt

如果我的测试成功完成,则会执行以下代码,它位于我的build.sbt中。它播放了一个很好的小调,告诉我我的测试成功完成,让我不再像Dirty Harry那样盯着终端。

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 个答案:

答案 0 :(得分:1)

Handling Failure。例如,

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