0
私のテストは遅いです。本当に遅い。コーヒーをもう一枚手に入れて、記事を読んでいるうちに、遅く仕上げるのを待っています。だから私はテストを終えたときに私に警告するためにbuild.sbtにこのタスクを追加しました。前のコマンドの結果に関係なく、sbtを別の連続したコマンドを実行するには?
lazy val alertMe = taskKey[Unit]("Alert me when testing is completed.")
alertMe in Test := {
"say \"testing is completed\""!
}
私はOS Xでsayコマンドを使用していましたが、このような使い方をしました。
;test ;alertMe
Voila!これはうまく動作します....成功したテストのためだけです。テストケースが失敗した場合、テストタスクは結果をエラーとして返し、alertMeは呼び出されません。
この動作はかなりわかりやすいです。しかし、私は自分の仕事が欲しい、私に警告し、テストタスクの結果に関係なく走りたい。これどうやってするの ?
lazy val alertMe = taskKey[Unit]("Alert me when testing is completed.")
alertMe := {
Command.process("test", state.value)
"say \"testing is completed\""!
}
用法:たぶん、あなたは同様に、alertMe
タスクにtest
タスクを追加することができます
Command.processはトリックです。しかし、通常、私はtestOnlyでparamsを使ってテストします。だから私は代わりにこれのようなInputTaskを作った。 '遅延ヴァルalertAfter = inputKey [単位( "アラート入力タスクが完了した。") alertAfter:= { ヴァル・引数:配列[文字列] = DefaultParsers.spaceDelimited( "")は Command.processを.parsed (args.mkString( "")、state.value) "\"テストが完了しました\ ""! } ' –
CatFly