junit 玛文·苏菲尔:启动分叉时出错

jogvjijk  于 2023-01-02  发布在  其他
关注(0)|答案(4)|浏览(130)

当我试图逃跑时
mvn试验
我总是得到错误消息,maven-surefire错误ocurred in staring fork.它与我的本地设置有关,在我同事的PC上它工作正常.我希望有人知道我的PC出了什么问题:)
错误消息的一部分:
1.[错误]无法在项目exercise 00-assignment 01上执行目标组织apache.maven.plugins:maven-surefire-plugin:2.12.4:测试(默认测试):启动fork出错,查看日志-〉[Help 1] org.apache.maven.lifecycle的输出,出现异常:无法在项目exercise 00-assignment 01上执行目标组织apache.maven.插件:maven-surefire-插件:2.12.4:测试(默认测试):启动分叉时出错,请检查日志中的输出
1.

Caused by:
    org.apache.maven.surefire.booter.SurefireBooterForkException: Error
    occurred in starting fork, check output in log
        at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork
    (ForkStarter.java:284)

我使用的是win10,jdk:1.8.0_202,专业人士:3.6.0
我的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>at.tuwien.swtesting</groupId>
    <artifactId>exercise00-assignment01</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>jar</packaging> 

    <name>01-RingBufferTest</name>
    <description>Entry exercise.</description>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencies>  
        <dependency>  
            <groupId>junit</groupId>  
            <artifactId>junit</artifactId>  
            <version>4.12</version>  
            <scope>test</scope>  
        </dependency>  
    </dependencies>

</project>
cyvaqqii

cyvaqqii1#

我最近陷入了同样的问题。经过大量的研究,我得到了低于决议
ForkCount应设置为“0”
更新您的pom文件为:-

<build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.19.1</version>
        <configuration>
        <forkCount>0</forkCount>
        <suiteXmlFiles>`enter code here`
        <suiteXmlFile>testng.xml</suiteXmlFile>
        </suiteXmlFiles>
        </configuration>
    </plugin>
</plugins>
yzuktlbb

yzuktlbb2#

所以我在pom.xml中添加了以下代码

<build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M3</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

错误消息已更改:
[错误]请参阅转储文件(如果存在)[日期].dump,[日期]-jvmRun[N].dump和[日期]. dumpstream。[错误]启动分叉时出错,请检查日志中的输出[错误] org.apache.maven.surefire.booter.SurefireBooterForkException:启动fork时出错,请检查日志中的输出[错误]在org.apache.maven.plugin.surefire. bootclient.ForkStarter.fork(ForkStarter. java:623)[错误]在org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter. java:283)[错误]在org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter. java:246)
编辑
我终于找到了我的问题,在我的路径文件夹有一个'&'和windows无法处理它.这就是不同的错误信息的原因

p5fdfcr1

p5fdfcr13#

在尝试了许多其他建议后,另一个解决方案对我来说是有效的,那就是为每个测试类都设置一个fork。将fork设置为0时,间歇性地工作,这是我期望的,因为当运行debug=true时,它们每次都通过(调试中没有fork)。3.0.0-M4
可靠的叉计数文档

<plugins>
    <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-surefire-plugin</artifactId>
       <configuration>
         <forkCount>number of test classes</forkCount>
       </configuration>
    </plugin>
</plugins>
58wvjzkj

58wvjzkj4#

我在我的MacBook上得到了这个,通过重新启动电脑修复了它。不是一个非常令人满意的修复,但它起作用了。

相关问题