如何从测试内部调用 App 对象
How to call App object from inside of tests
我有一个扩展 App 特征的对象,我想编写一些使用该对象的测试。例如。
object EntryPoint extends App {
println("running the app")
// runs misc code
}
我想写这样的东西:
class EntrySpec extents FlatSpec {
val entryPoint = EntryPoint(Array("Some arg"))
// do stuff with the entrypoint object
}
但是当我尝试这样做时,我似乎无法在我的测试中访问 EntryPoint 对象。所有其他对象和 类 正常解析。这里出了什么问题?
只需在EntrySpec
中写上.main(..)
/src/main/scala/EntryPoint.scala
object EntryPoint extends App {
println(s"running the app, args=${args.mkString}")
}
/src/test/scala/EntrySpec.scala
import org.scalatest.FlatSpec
class EntrySpec extends FlatSpec {
EntryPoint.main(Array("Some arg")) // prints "running the app, args=Some arg"
assert(1 + 1 === 2)
}
一切正常。
我有一个扩展 App 特征的对象,我想编写一些使用该对象的测试。例如。
object EntryPoint extends App {
println("running the app")
// runs misc code
}
我想写这样的东西:
class EntrySpec extents FlatSpec {
val entryPoint = EntryPoint(Array("Some arg"))
// do stuff with the entrypoint object
}
但是当我尝试这样做时,我似乎无法在我的测试中访问 EntryPoint 对象。所有其他对象和 类 正常解析。这里出了什么问题?
只需在EntrySpec
.main(..)
/src/main/scala/EntryPoint.scala
object EntryPoint extends App {
println(s"running the app, args=${args.mkString}")
}
/src/test/scala/EntrySpec.scala
import org.scalatest.FlatSpec
class EntrySpec extends FlatSpec {
EntryPoint.main(Array("Some arg")) // prints "running the app, args=Some arg"
assert(1 + 1 === 2)
}
一切正常。