Sbt 使用Node.js而不是Rhino时Scalajs测试未运行

Sbt 使用Node.js而不是Rhino时Scalajs测试未运行,sbt,scala.js,Sbt,Scala.js,我目前正在开发一个Scala.js库,打算作为js库公开。为了让我的测试运行得更快,我根据scalajs添加了这个选项 scalaJSUseRhino在全局中:=false 但是,当我在sbt中运行测试时,似乎什么都没有发生: clean project myprojectJS test last 以下是last命令的相关输出 [debug] Loading JSEnv with linked file /home/jacob/proj/mastermind/js/target/scala-2

我目前正在开发一个Scala.js库,打算作为js库公开。为了让我的测试运行得更快,我根据scalajs添加了这个选项

scalaJSUseRhino在全局中:=false

但是,当我在sbt中运行测试时,似乎什么都没有发生:

clean
project myprojectJS
test
last
以下是
last
命令的相关输出

[debug] Loading JSEnv with linked file /home/jacob/proj/mastermind/js/target/scala-2.11/mastermind-test-fastopt.js
[debug] Subclass fingerprints: List()
[debug] Annotation fingerprints: List()

加载JSEnv后似乎什么也没有发生。

问题在于,因为我正在编写一个将作为Javascript模块公开的库,所以我在SBT中有以下配置:

scalaJSOutputWrapper := ("var __ScalaJSEnv = { exportsNamespace: exports };", ""),
这意味着生成的testrunner JS文件也将被包装,使得输出Javascript文件实际上什么都不做

在SBT中添加此配置可修复此问题:

scalaJSOutputWrapper in Test := ("", ""),

ScalaJS测试也不在我的环境中运行,只要我对
sbt交叉项目使用ScalaTest和UnitTest

[debug] Subclass fingerprints: List()
[debug] Annotation fingerprints: List()
两个指纹都是空列表(运行
sbt-v-d
获取详细信息和调试信息)

然后我切换到
uTest
(因为
sbt-crossproject
), 添加到我的
build.sbt
设置中:

testFrameworks += new TestFramework("utest.runner.Framework"),
libraryDependencies += "com.lihaoyi" %%% "utest" % "0.6.3" % "test"
现在,
测试
日志显示

...
[debug] Loading JSEnv with linked file qqqqq/.js/target/scala-2.11/qqqq-test-fastopt.js
[debug] Starting process: node
[debug] Subclass fingerprints: List((utest.TestSuite,true,org.scalajs.testcommon.Serializer$FingerprintSerializer$$anon$3@12662894))
[debug] Annotation fingerprints: List()
-------------------------------- Running Tests --------------------------------
[debug] Running TaskDef(TutorialTest, org.scalajs.testcommon.Serializer$FingerprintSerializer$$anon$3@60e5e39e, false, [SuiteSelector])
....