簡體   English   中英

Maven surefire插件-按順序運行所有測試

[英]maven surefire plugin - run all tests sequentially

由於某種原因,我無法獲得Maven surefire插件來按順序運行測試。

我在測試中使用redis模擬( https://github.com/kstyrc/embedded-redis ),效果很好,但出現類似

Cannot run program "/tmp/1494421531552-0/redis-server-2.8.19" (in directory "/tmp/1494421531552-0"): error=26, Text file busy

我查了一下,發現它可能與並行運行的測試有關,並且此模擬程序存在問題。

當前我的行家看起來像這樣

           <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.1</version>
            <configuration>
                <trimStackTrace>false</trimStackTrace>
                <useFile>false</useFile>
                <reuseForks>false</reuseForks>
                <forkCount>1</forkCount>
            </configuration>

我想確保我所有的測試都按順序運行(一個接一個)-這意味着每個類的每個測試方法都單獨運行。

我該如何實現?

據我所知,確保單元測試順序的唯一方法是按字母順序進行:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <runOrder>alphabetical</runOrder>
    </configuration>
</plugin>

話雖這么說,但我認為您需要在每個測試中定義一個@After方法來停止redis模擬(並實際上等待它停止),以便新測試可以在@Before方法中啟動redis模擬而無需沖突

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM