在Scala中将参数传递给App对象

zio*_*zio 7 testing scala

我目前正在使用scalatest.org为我的应用程序创建一些单元测试:

scala> object Test extends App {
     | println(args)
     | }
Run Code Online (Sandbox Code Playgroud)

如何将参数传递给该对象?我尝试重写args价值,但经过一些研究,我发现它是不可能的:

  /** The command line arguments passed to the application's `main` method.
   */
  @deprecatedOverriding("args should not be overridden", "2.11.0")
  protected def args: Array[String] = _args

  private var _args: Array[String] = _
Run Code Online (Sandbox Code Playgroud)

如何_在代码中传递下划线自定义参数?

干杯

Nat*_*ate 12

我想你想调用main(args: Array[String])从App继承的方法.

scala> object Test extends App { args.foreach(println) }
defined object Test

scala> Test.main(Array("A1"))
A1

scala> Test.main(Array("A1", "A2"))
A1
A2
Run Code Online (Sandbox Code Playgroud)