【问题标题】:Scalajs tests not running when using Node.js instead of RhinoScalajs 测试在使用 Node.js 而不是 Rhino 时未运行
【发布时间】:2016-10-09 13:18:54
【问题描述】:

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

scalaJSUseRhino in Global := 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 后似乎什么都没有发生。

【问题讨论】:

    标签: sbt scala.js


    【解决方案1】:

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

    scalaJSOutputWrapper := ("var __ScalaJSEnv = { exportsNamespace: exports };", ""),
    

    这意味着生成的测试运行器 JS 文件也将被包装,使得输出的 Javascript 文件基本上什么都不做。

    在 SBT 中添加此配置可解决问题:

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

    【讨论】:

      【解决方案2】:

      ScalaJS 测试也不会在我的环境中运行,只要我使用 ScalaTest 和 UnitTest 作为sbt-crossproject

      [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"
      

      现在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])
      ....
      

      【讨论】:

        猜你喜欢
        • 2021-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-30
        • 2016-07-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多