无法运行空手道加特林场景

问题描述 投票:0回答:1

收到错误消息 [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]

compiler-errors
1个回答
0
投票

根据空手道文档以及我在项目中还必须做的事情,才能使空手道-加特林集成正常工作,即使用 Maven 配置文件。以下内容直接从 Karate using a Maven profile

的文档中提取

karate-gatling
混合到已在
test
范围内具有其他框架的项目中可能会导致问题,例如库版本冲突或只是减慢正常的单元测试速度。您可以使用 Maven 配置文件 将 Gattle 依赖项和执行保持在单独的范围内。您的“主要”Maven
<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
© www.soinside.com 2019 - 2024. All rights reserved.