当包含Maven配置文件时,如何在Spark中只运行单个Scalatest(通过wildcardSuites)



我有以下命令行通过maven运行Spark scalatest:

mvn  -pl mllib -Pyarn -Phadoop-2.6 -Dhadoop2.7.1 
-Dscala-2.11 '-D!scala-2.10' -Dmaven.javoc.skip=true 
-DmembersOnlySuites=org.apache.spark.ml.feature.BinarizerSuite test

让我们来分解一下:

只选择mllib模块:

pl mllib

设置各种配置文件和scala设置:

-Pyarn -Phadoop-2.6 -Dhadoop2.7.1 -Dscala-2.11 '-D!scala-2.10' -Dmaven.javoc.skip=true 

注意:这些配置文件和设置是为我们的环境获得正确的编译选项所必需的。它们已经过多次包装验证。

只选择BinarizerSuite:

-DwilcardSuites=org.apache.spark.ml.feature.BinarizerSuite test

结果是接近我所希望的-除了mllib java测试用例正在运行。

我用了

mvn -DwildcardSuites=org.apache.spark.ml.feature.BinarizerSuite test

,这样做是正确的:只测试一个套件。因此,maven命令行解析器似乎没有得到预期的选项顺序。但我已经尝试了所有不同的排列顺序…

Spark邮件列表上的Sean Owen给出了答案:我缺少以下设置:

 -Dtest=None

该设置关闭Java测试。

最新更新