2012-10-31 121 views
1

我正試圖支持在Maven命令行上運行標記/測試組。我想我的.scala文件中有正確的語法設置(見下文),但我不確定如何在命令行上真正執行。網絡上的例子大多使用Java。如何使用Scala + JUnit runner + Maven運行測試組?

我希望能夠做一些類似於mvn clean test -Dtags:SlowTest,DbTest的運行所有標記爲「慢」和「db」的測試。

我見過Surefire pom.xml示例,但我不確定該如何在自己的測試代碼中標記SureFire組。

想法?

import org.junit.experimental.categories.Category 
import org.scalatest.FunSuite 
import org.junit.runner.RunWith 
import org.scalatest.junit.JUnitRunner 
import org.scalatest.Tag 

class SlowTest extends Tag("com.mycompany.tags.SlowTest") 
class DbTest extends Tag("com.mycompany.tags.DbTest") 

@RunWith(classOf[JUnitRunner]) 
@Category(Array(classOf[SlowTest], classOf[DbTest])) 
class FunSuiteTest extends FunSuite with DemoHelpers { 
    test("DemoTest1") { 
+0

爲什麼不使用[scalatest-maven-plugin](http://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin)?它支持包含標籤。 – maba

+0

這正是我正在做的,我只是不知道如何引用Maven命令行上的標籤。 –

回答

1

如果您使用的是scalatest-maven-plugin你應該能夠做這樣的事情:

mvn -DtagsToInclude=SlowTest,DbTest clean test 
+1

好主意,但該命令行不適合我。它運行了所有的測試。 : -/ –

+0

它看起來像我使用了一個稍微不同的插件: net.alchim31.maven 斯卡拉,Maven的插件 3.1.0 編譯 testCompile

+0

該鏈接描述瞭如何設置插件。我也在這裏給你一個答案:http://stackoverflow.com/a/13044449/1350762 – maba

-1

我可能會建議,如果你想要做的斯卡拉一些測試,你爲什麼不嘗試使用

SCALA TEST

好,並且EAS Ÿ使用。

相關問題