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

时间:2014-11-04 16:42:38

标签: scala testing

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

scala> object Test extends App {
     | println(args)
     | }

如何将参数传递给该对象?我尝试覆盖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] = _

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

干杯

1 个答案:

答案 0 :(得分:12)

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

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