我把我的测试编译在一个目录中:samplesuite
当使用org.scalatest.run
运行一个套件时,它有效。当我尝试运行包含多个套件的目录时,没有任何反应。
scala -cp "..mytestframeworktargetscala-2.12mytestframework-assembly-0.1.jar;../../Downloads/scalactic_2.12-3.0.5.jar;....Downloadsscalatest_2.12-3.0.5.jar" org.scalatest.run samplesuite.SomeSpec
但它在尝试时不会运行:
scala -cp "..mytestframeworktargetscala-2.12mytestframework-assembly-0.1.jar;../../Downloads/scalactic_2.12-3.0.5.jar;....Downloadsscalatest_2.12-3.0.5.jar" org.scalatest.tools.Runner -R samplesuite
假设测试是在包samplesuite
中定义的,例如
package samplesuite
class SomeSpec extends FlatSpec with Matchers
当前工作目录.
比samplesuite
高一级,然后发现并运行所有套件
scala -cp "..mytestframeworktargetscala-2.12mytestframework-assembly-0.1.jar;../../Downloads/scalactic_2.12-3.0.5.jar;....Downloadsscalatest_2.12-3.0.5.jar" org.scalatest.tools.Runner -R .
通常,在指定从中发现测试的运行路径时,-R
指向包开始的根目录,或使用sbt test:package
生成的.jar
文件:
scala -cp target/scala-2.12/classes:scalatest_2.12-3.0.5.jar:scalactic_2.12-3.0.5.jar org.scalatest.tools.Runner -R target/scala-2.12/test-classes
scala -cp target/scala-2.12/classes:scalatest_2.12-3.0.5.jar:scalactic_2.12-3.0.5.jar org.scalatest.tools.Runner -R target/scala-2.12/how-can-i-perform-an-or-with-scalatest_2.12-0.1.0-SNAPSHOT-tests.jar