收到错误消息 [ERROR] 无法在项目空手道模板上执行目标 net.alchim31.maven:scala-maven-plugin:4.8.1:testCompile (default):目标 net.alchim31.maven:scala-maven 的执行默认值-插件:4.8.1:testCompile失败。:CompileFailed -> [帮助1]
pom.xml 文件已粘贴以供快速参考。
4.0.0
<groupId>io.karatelabs</groupId>
<artifactId>karate-template</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>11</java.version>
<maven.compiler.version>3.11.0</maven.compiler.version>
<maven.surefire.version>3.0.0</maven.surefire.version>
<karate.version>1.4.1</karate.version>
<gatling.plugin.version>4.8.2</gatling.plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>com.intuit.karate</groupId>
<artifactId>karate-junit5</artifactId>
<version>${karate.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.javafaker</groupId>
<artifactId>javafaker</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>net.masterthought</groupId>
<artifactId>cucumber-reporting</artifactId>
<version>5.6.1</version>
</dependency>
<dependency>
<groupId>com.intuit.karate</groupId>
<artifactId>karate-gatling</artifactId>
<version>${karate.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<testResources>
<testResource>
<directory>src/test/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.version}</version>
<configuration>
<encoding>UTF-8</encoding>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.version}</version>
<configuration>
<argLine>-Dfile.encoding=UTF-8</argLine>
</configuration>
</plugin>
<plugin>
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>${gatling.plugin.version}</version>
<configuration>
<simulationsFolder>src/test/java/conduitApp/performance</simulationsFolder>
<configFolder>src/test/java/conduitApp/performance/data</configFolder>
</configuration>
</plugin>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>4.8.1</version>
<executions>
<execution>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<args>
<arg>-Jbackend:GenBCode</arg>
<arg>-Jdelambdafy:method</arg>
<arg>-target:jvm-1.8</arg>
<arg>-deprecation</arg>
<arg>-feature</arg>
<arg>-unchecked</arg>
<arg>-language:implicitConversions</arg>
<arg>-language:postfixOps</arg>
</args>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
尝试运行 mvn clean test-compile gatting:test 但收到错误消息。
[错误]无法在项目空手道模板上执行目标net.alchim31.maven:scala-maven-plugin:4.8.1:testCompile(默认):目标net.alchim31.maven的执行默认值:scala-maven-plugin: 4.8.1:testCompile 失败。:CompileFailed -> [帮助 1]
根据空手道文档以及我在项目中还必须做的事情,才能使空手道-加特林集成正常工作,即使用 Maven 配置文件。以下内容直接从 Karate using a Maven profile
的文档中提取将
混合到已在karate-gatling
范围内具有其他框架的项目中可能会导致问题,例如库版本冲突或只是减慢正常的单元测试速度。您可以使用 Maven 配置文件 将 Gattle 依赖项和执行保持在单独的范围内。您的“主要”Maventest
部分可以像平常一样依赖于<dependencies>
或karate-core
。karate-junit5
这是一个例子:
<profiles>
<profile>
<id>gatling</id>
<dependencies>
<dependency>
<groupId>com.intuit.karate</groupId>
<artifactId>karate-gatling</artifactId>
<version>${karate.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>4.5.6</version>
<executions>
<execution>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<args>
<arg>-Jbackend:GenBCode</arg>
<arg>-Jdelambdafy:method</arg>
<arg>-target:jvm-1.8</arg>
<arg>-deprecation</arg>
<arg>-feature</arg>
<arg>-unchecked</arg>
<arg>-language:implicitConversions</arg>
<arg>-language:postfixOps</arg>
</args>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>${gatling.plugin.version}</version>
<configuration>
<simulationsFolder>src/test/java</simulationsFolder>
<includes>
<include>app.perf.TodoSimulation</include>
</includes>
</configuration>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
要使用
gatling
Maven 配置文件并运行性能测试模拟:
mvn clean test -P gatling