如何在Scala本地应用程序中运行Scala测试?

3
我有一个Scala原生应用程序“hello world”,想要对这个应用程序运行一个小的Scala测试。我使用了通常的测试命令,但是它抛出了一个异常: NativeMain.scala
object NativeMain {
  val p = new Person("xxxx")

  def main(args: Array[String]): Unit = {
    println("Hello world")
  }
}
class Person(var name: String)
}

NativeTest.scala

import org.scalatest.{FlatSpec, Matchers}

class NativeTest extends FlatSpec with Matchers {

  "name" should "the name is set correctly in constructor" in {
    assert(NativeMain.p.name == "xxxx")
  }
}

我在sbt shell中运行了test 命令并收到了以下错误信息。
[IJ]> test
[info] Compiling 1 Scala source to /home/****/Documents/ScalaNativeFresh/target/scala-2.11/classes...
[info] Compiling 1 Scala source to /home/****/Documents/ScalaNativeFresh/target/scala-2.11/test-classes...
[info] Compiling 1 Scala source to /home/****/Documents/ScalaNativeFresh/target/scala-2.11/test-classes...
[info] Linking (28516 ms)
[error] cannot link: @java.lang.Thread::getStackTrace_scala.scalanative.runtime.ObjectArray
[error] unable to link
[error] (nativetest:nativeLink) unable to link
[error] Total time: 117 s, completed Apr 2, 2019 3:04:24 PM

有什么帮助或建议吗?谢谢 :) ?
1个回答

1

有一个未解决的问题,需要添加支持Scala Native #1112,并根据cheeseng的说法:

截至撰写本文时,3.1.0-SNAP6和3.2.0-SNAP10是唯二支持scala-native的版本。

尝试像这样导入scalatest_native0.3_2.11

libraryDependencies += "org.scalatest" % "scalatest_native0.3_2.11" % "3.2.0-SNAP10"

scalatest-native-example 是一个可工作的示例,展示了如何在 Scala-Native 中使用 Scalatest。


非常感谢,它起作用了,但我能知道为什么测试运行正常,但我得到了:0成功0失败,没有执行任何测试吗? - NaseemMahasneh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接