我有一个 Maven 项目,我正在使用scalatest-maven-plugin来配置 scalatest。我正在使用 scalatest 3.0.0 但是我无法标记和过滤掉整个套件。
作为参考,我使用了博客标记整个 ScalaTest 套件(Java 8 的更新),但这似乎不适用于 Maven。
我创建了一个新Skip
标签,定义如下:
package tags;
import java.lang.annotation.*;
@org.scalatest.TagAnnotation
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface Skip {}
然后我像这样标记我的测试套件:
@tags.Skip
class AcceptanceTest extends FeatureSpec { ...
然后我像这样配置我的 scalatest-maven-plugin:
<plugin>
<groupId>org.scalatest</groupId>
<artifactId>scalatest-maven-plugin</artifactId>
<configuration>
<tagsToExclude>tags.Skip</tagsToExclude>
</configuration>
<executions>
<execution>
<id>test</id>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
然后运行mvn clean install -X
我看到(它正确地将 -l 标记排除 CLI 参数传递给 Scalatest):
[DEBUG] Forking ScalaTest via: cmd.exe /X /C "java -Dbasedir=mydir
org.scalatest.tools.Runner -R -l tags.Skip ...
但是AcceptanceTest
套件仍然被执行。我也尝试过像这样标记套件但没有成功:
class AcceptanceTest extends Tag("tags.Skip") with FeatureSpecLike { ...