libraryDependencies += "org.scala-js" %%% "scalajs-test-interface" % "1.0.0"
scala
import utest._
object MyTests extends TestSuite {
val tests = Tests {
test("addition") {
val result = 1 + 1
assert(result == 2)
}
test("subtraction") {
val result = 5 - 3
assert(result == 2)
}
}
}
scala
import org.scalajs.testinterface.HTMLRunner
object TestRunner {
def main(args: Array[String]): Unit = {
HTMLRunner.runTests("path/to/my_tests_suite.js")
}
}
scala
import sbt._
import org.scalajs.sbtplugin.ScalaJSPlugin.autoImport._
import org.scalajs.sbtplugin.cross.CrossProject
lazy val myProject = crossProject(JSPlatform, JVMPlatform)
.in(file("."))
.settings(
scalaJsTestFramework := new TestFramework("utest.runner.Framework"),
testFrameworks += new TestFramework("org.scalatest.tools.Framework")
)
scala
import sbt._
import org.scalajs.sbtplugin.ScalaJSPlugin.autoImport._
lazy val myProject = project.in(file(".")).enablePlugins(ScalaJSJUnitPlugin)
scala
import utest._
import scala.concurrent.Future
import scala.scalajs.concurrent.JSExecutionContext.Implicits.queue
object MyAsyncTests extends AsyncTestSuite {
val tests = Tests {
testAsync("addition") {
Future {
val result = 1 + 1
assert(result == 2)
}
}
testAsync("subtraction") {
Future {
val result = 5 - 3
assert(result == 2)
}
}
}
}