Как запустить тест Scala в родном приложении Scala? - PullRequest
3 голосов
/ 02 апреля 2019

У меня есть приложение hello world scala, и я хочу запустить небольшой тест scala для этого приложения. Я использую обычную команду test, но она выдает исключение:

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")
  }
}

Я запускаю команду test в оболочке sbt и получаю эту ошибку

[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 голос
/ 02 апреля 2019

Существует открытая проблема для добавления Добавить поддержку Scala Native # 111 2 и в соответствии с cheeseng :

3.1.0-SNAP6 и3.2.0-SNAP10 - это единственные 2 версии (на момент написания), которые поддерживают scala-native

Попробуйте импортировать scalatest_native0.3_2.11, например,

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

scalatest-native-example - это рабочий пример, показывающий, как использовать scalatest с scala-native.

...