Как прикрепить пользовательскую задачу для выполнения перед тестовой задачей в sbt?

Я использую SBT с Play Framework.

Я создал пользовательский TaskKey для запуска тестов JavaScript в моем проекте:

import sbt._
import sbt.Process._
import PlayProject._

object ApplicationBuild extends Build {

  val testJsTask = TaskKey[Unit]("testJs", "Run javascript tests.") := {}

  val main = PlayProject("xxx", 1.0, Seq())
    .settings(defaultScalaSettings: _*)
    .settings(testJsTask)
}

Пока все хорошо.

Я хочу запускать эту testJsTask всегда, когда кто-то выполняет задачу test.

Я полагаю, что это должно быть что-то вроде:

test in Test <<= (test in Test).dependsOn(testJsTask)

Я понятия не имею, как именно это должно быть определено. Как добавить зависимость к существующей задаче типа 'test' или 'build'?

UPDATE

После изменений, предложенных @Christian, определение сборки выглядит следующим образом:

object ApplicationBuild extends Build {
  val testJsTask = TaskKey[Unit]("testJs", "Run tests for javascript client.")
  def testJs = {}

  val main = PlayProject("xxx", 1.0, Seq())
    .settings(defaultScalaSettings: _*)
    .settings(testJsTask := testJs)

  (test in Test) <<= (test in Test) dependsOn (testJs)
}

К сожалению, решение тоже не работает:

[error] /xxx/project/Build.scala:21: not found: value test
[error]   (test in Test) <<= (test in Test) dependsOn (testJs)
[error]    ^
[error] one error found
[error] {file:/xxx/project/}default-f468ae/compile:compile: Compilation failed
19
задан Jacek Laskowski 1 January 2014 в 14:05
поделиться