1. 程式人生 > >單元測試maven專案內配置EvoSuite外掛來自動生成test suite

單元測試maven專案內配置EvoSuite外掛來自動生成test suite

一、新增evosuite兩個外掛

            <plugin>
                <groupId>org.evosuite.plugins</groupId>
                <artifactId>evosuite-maven-plugin</artifactId>
                <version>1.0.5</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare</goal>
                        </goals>
                        <phase>
                            process-test-classes
                        </phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
                <configuration>
                    <systemPropertyVariables>
                        <java.awt.headless>true</java.awt.headless>
                    </systemPropertyVariables>
                    <testFailureIgnore>true</testFailureIgnore>
                    <skipTests>false</skipTests>
                    <properties>
                        <property>
                            <name>listener</name>
                            <value>
                                org.evosuite.runtime.InitializingListener
                            </value>
                        </property>
                    </properties>
                </configuration>
            </plugin>

因為maven庫中沒有evosuite,所以需要新增evosuite庫

 <pluginRepositories>
        <pluginRepository>
            <id>EvoSuite</id>
            <name>EvoSuite Repository</name>
            <url>http://www.evosuite.org/m2</url>
        </pluginRepository>
    </pluginRepositories>

執行mvn evosuite:help會自動下載evosuite外掛,並檢測是否配置成功,若成功會顯示BUILE SUCCESS

二、生成test suite

然後用mvn -DmemorylnMB=2000 -Dcores=2 evosuite:generate evosuite:export test

命令 mvn evosuite:generate(單核情況)

【關於該命令的詳細資訊,通過mvn evosuite:help -Ddetail=true -Dgoal=generate檢視】

如果想加速生成test suite

mvn -Dcores=CPU核數 evosuite:generate【每核要求記憶體不小於500MB】

該過程需花費時間較長

三、執行test suite

新增:依賴

然後執行:mvn test

        <dependency>
            <groupId>org.evosuite</groupId>
            <artifactId>evosuite-standalone-runtime</artifactId>
            <version>1.0.5</version>
            <scope>test</scope>
        </dependency>