अचूक जनीट 5 परीक्षण नहीं उठा रहा है


113

मैंने JUnit 5 के साथ एक सरल परीक्षण विधि लिखी:

public class SimlpeTest {
    @Test
    @DisplayName("Some description")
    void methodName() {
        // Testing logic for subject under test
    }
}

लेकिन जब मैं दौड़ता mvn testहूं, तो मुझे:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running SimlpeTest
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

किसी भी तरह, अचूक को उस परीक्षण वर्ग की पहचान नहीं थी। मेरी pom.xmlतरह दिखता है:

<properties>
    <java.version>1.8</java.version>
    <junit.version>5.0.0-SNAPSHOT</junit.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit5-api</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>
</dependencies>

<repositories>
    <repository>
        <id>snapshots-repo</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <updatePolicy>always</updatePolicy>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>
    </plugins>
</build>

किसी भी विचार कैसे यह काम करने के लिए?


1
अभी आपको अचूक-प्लगइन के विशेष कार्यान्वयन का उपयोग करना है। यहां
जूनियर

1
प्रश्न एक पुराने संस्करण पर आधारित है, लेकिन यह उत्तर वर्तमान (दिसंबर 2016 तक) पर आधारित है।
निकोलई

@ निकोलाई जवाब अपडेट करने के लिए धन्यवाद। वैसे भी अगर आपके पास समय हो, तो मैं प्रश्न पर आपके संपादन की सराहना करूंगा।
अली देहनागी

1
यह त्रुटि अब जैसी नहीं होती है। परीक्षण निष्पादन की कमी के लिए सबसे अधिक संभावना मामला इस सवाल से आच्छादित है ।
निकोलई

सुनिश्चित करें कि परीक्षण फ़ाइलें सही जगह पर हैं। डिफ़ॉल्ट परीक्षण द्वारा src फ़ोल्डर के तहत मुख्य का एक सहोदर होना चाहिए।
जो बोबीर

जवाबों:


115

maven-surefire-pluginआज के रूप में, करता JUnit 5 के पूर्ण समर्थन की जरूरत नहींSUREFIRE-1206 में इस समर्थन को जोड़ने के बारे में एक खुला मुद्दा है ।

जैसे, आपको एक कस्टम प्रदाता का उपयोग करने की आवश्यकता है । एक पहले से ही JUnit टीम द्वारा विकसित किया गया है; से उपयोगकर्ता गाइड , आप जोड़ने की जरूरत है junit-platform-surefire-providerप्रदाता और TestEngineनई एपीआई के लिए कार्यान्वयन:

<build>
  <plugins>        
    <plugin>
      <artifactId>maven-surefire-plugin</artifactId>
      <!-- latest version (2.20.1) does not work well with JUnit5 -->
      <version>2.19.1</version>
      <dependencies>
        <dependency>
          <groupId>org.junit.platform</groupId>
          <artifactId>junit-platform-surefire-provider</artifactId>
          <version>1.0.3</version>
        </dependency>
        <dependency>
          <groupId>org.junit.jupiter</groupId>
          <artifactId>junit-jupiter-engine</artifactId>
          <version>5.0.3</version>
        </dependency>
      </dependencies>
    </plugin>
  </plugins>
</build>

इसके अलावा, junit-jupiter-apiनिर्भरता की घोषणा करना सुनिश्चित करें test:

<dependencies>
  <dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>5.0.3</version>
    <scope>test</scope>
  </dependency>
</dependencies>

25
ध्यान दें कि इस समय अचूक 2.20.1 इस तरह से 5 प्रदाता के साथ काम नहीं करता है। 2.19.1 नमूने में उपयोग किया गया है जो अभी भी पारित वर्ष के बावजूद वैध है।
splatch

1
अचूक 2.21.0 भी काम नहीं करता है, के लिए रोलबैक करने के लिए है 2.19.1
valodzka

@valodzka मेरे लिए यह 2.21.0 और प्लगइन और junit5 के नए संस्करणों के साथ काम करता है। देखें junit.org/junit5/docs/current/user-guide/...
Thirler

सत्यापित: maven-surefire-plugin v2.21.0के साथ ठीक काम करता है junit-jupiter-engine v5.2.0और junit-platform-surefire-provider v1.2.0
povis

2
यह कॉन्फिरेन्स २.२२.० या उच्चतर के साथ विफल हो जाएगा। आपको अचूक कॉन्फिगर से Junit deps को बाहर करने की आवश्यकता है। मैंने इसके बारे में एक त्वरित पोस्ट यहाँ लिखी थी
जॉन थॉम्पसन

51

अपडेट २

Maven Surefire Plugin v2.22.0 में इश्यू तय किया गया है

नया संस्करण मावेन सेंट्रल रिपॉजिटरी में उपलब्ध है।

Maven

<dependency>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.0</version>
</dependency>

Gradle

compile group: 'org.apache.maven.plugins', name: 'maven-surefire-plugin', version: '2.22.0'

अपडेट करें

जैसा कि मैरिएन ने बताया, JUnit 5 प्लेटफार्म अचूक प्रदाता (1.2.0) का नवीनतम संस्करण मावेन सरेफियर प्लगिन (2.21.0) के नवीनतम संस्करण का समर्थन करता है :

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.21.0</version>
            <dependencies>
                <dependency>
                    <groupId>org.junit.platform</groupId>
                    <artifactId>junit-platform-surefire-provider</artifactId>
                    <version>1.2.0</version>
                </dependency>
            </dependencies>
        </plugin>



उदाहरण

pom.xml

<dependencies>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>5.2.0</version>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.21.0</version>
            <dependencies>
                <dependency>
                    <groupId>org.junit.platform</groupId>
                    <artifactId>junit-platform-surefire-provider</artifactId>
                    <version>1.2.0</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

TestScenario.java

package test;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

public class TestScenario {

    @Test
    @DisplayName("Test 2 + 2 = 4")
    public void test() {
        Assertions.assertEquals(4, 2 + 2);
    }
}

आउटपुट (mvan क्लीन इंस्टॉल)

...
[जानकारी] --- maven-Surefire- प्लगइन: 2.21.0 : परीक्षण (डिफ़ॉल्ट-परीक्षण) @ परीक्षण --- [INFO]
[जानकारी] -------------- -----------------------------------------
[जानकारी] TESTS
[जानकारी] - -------------------------------------------------- ---
[इंफो] रनिंग
टेस्ट। टेस्टसेनारियो [ इंफो ] टेस्ट चलता है: 1, विफलताएं: 0, त्रुटियां: 0, स्किप्ड: 0, समय समाप्त: 0.005 सेकेंड इन टेस्ट। टेस्टस्टेनारियो
( इंफो )
[जानकारी]:
[जानकारी ] ]
[जानकारी] टेस्ट रन: 1 , विफलताएं: 0, त्रुटियां: 0, छोड़ दिया: 0
...


आज तक का सबसे सरल तरीका:

    <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.19.1</version>
        <dependencies>
            <dependency>
                <groupId>org.junit.platform</groupId>
                <artifactId>junit-platform-surefire-provider</artifactId>
                <version>1.1.0</version>
            </dependency>
        </dependencies>
    </plugin>

1
यह केवल क्लास के नाम पर टेस्ट के कारण काम करता है । उदाहरण के लिए वर्ग का नाम बदलेंScenario - यह खोजा नहीं जाएगा। (स्योरफायर 2.22.0)
एलेक्सी विनोग्रादोव

@AlexeiVinogradov हाँ। यह अपेक्षित व्यवहार है। अधिक जानकारी यहाँ उपलब्ध है: stackoverflow.com/a/6178629/3523579
मिखाइल खोलोडॉव

बेवारे, जूनिट इंजन संस्करण बनाम स्प्रिंग बूट पैरेंट संस्करण। केवल निर्भरता निर्दिष्ट करें junit-jupiter-engine: 5.1 वह काम नहीं करता है जहाँ नए संस्करण करते हैं। स्प्रिंग बूट ने अभी भी JUnit4 <junit.version> 4.13 को अपुष्ट किया है।
वॉफ

20

से JUnit 5 प्रलेखन :

संस्करण के साथ शुरू करते हुए 2.22.0, मावेन सुरफायर जुनाइट प्लेटफॉर्म पर परीक्षणों को निष्पादित करने के लिए मूल समर्थन प्रदान करता है।

इसके अतिरिक्त आप maven-surefire-pluginप्रलेखन में पढ़ सकते हैं :

JUnit 5 प्लेटफॉर्म का उपयोग करना

JUnit प्लेटफ़ॉर्म के साथ आरंभ करने के लिए, आपको TestEngineअपनी परियोजना में कम से कम एक कार्यान्वयन जोड़ना होगा । उदाहरण के लिए, यदि आप बृहस्पति के साथ परीक्षण लिखना चाहते हैं, तो परीक्षण कलाकृतियों junit-jupiter-engine को पोम में निर्भरता में जोड़ें

तो बस इतना है कि JUnit 5 परीक्षण चलाने के लिए पर्याप्त है:

<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>davidxxx</groupId>
    <artifactId>minimal-pom-junit5</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <properties>
        <junit-jupiter.version>5.2.0</junit-jupiter.version> 
        <!--optional below but good practice to specify our java version-->
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit-jupiter.version}</version>
            <scope>test</scope>
        </dependency>

        <!--optional below -->
        <!-- add any JUnit extension you need such as -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <version>${junit-jupiter.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.0</version>
            </plugin>
        </plugins>
    </build>

</project>

अपने GitHub स्पेस पर मैंने एक कामकाजी नमूना maven प्रोजेक्ट जोड़ा है जिसे आप ब्राउज़ / क्लोन कर सकते हैं।
URL: https://github.com/ebundy/junit5-minimal-maven-project


9

मैं JUnit5 और मावेन के साथ इस मुद्दे पर भाग गया, लेकिन यह भी देखा कि, भले ही केवल निर्भरता के रूप में जूनिट-ज्यूपिटर -इंजन को जोड़ा गया था, परीक्षण कुछ परियोजनाओं पर चलेंगे, दूसरों पर नहीं । और मैं यहां टिप्पणियों में एक ही पैटर्न देखता हूं: @ एलेक्स टिप्पणी में आप देख सकते हैं कि उनके पास कोई मुद्दा नहीं है, यहां तक ​​कि अचूक / जूनिट / प्लेटफॉर्म के पहले संस्करणों के साथ भी।

कुछ समय के लिए मेरे सिर को खरोंचने के बाद मुझे महसूस हुआ कि जिन परियोजनाओं में परीक्षण नहीं चलेंगे, वे ऐसे थे जहाँ परीक्षण विधि के नाम में "परीक्षण" शब्द नहीं था । हालांकि यह http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html द्वारा अनिवार्य नहीं है

दूसरे शब्दों में: बस के साथ

    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>5.2.0</version>
        <scope>test</scope>
    </dependency>

यह

@Test
public void something() {
    assertTrue(true);
}

नहीं चलाया जाएगा, जबकि

@Test
public void testSomething() {
    assertTrue(true);
}

चला जाएगा!

यह मुद्दा एक रूसी गुड़िया के रूप में सामने आया ...

वैसे भी, @Mikhail Kholodkov के लिए +1 जिसका अद्यतन उत्तर एक ही बार में सभी मुद्दों को हल करता है!


मैंने अभी भी mvn 3.5.0, jdk 1.8.0_101 के साथ एक समस्या का अनुभव किया है, जहाँ मेरे वर्ग के नाम में 'टेस्ट' नहीं था और टेस्ट नहीं लिया गया था, इससे मुझे यह पता लगाने में मदद मिली!
dann.dev

हाँ वास्तव में आपको maven.apache.org/surefire/maven-surefire-plugin/examples/… का अनुपालन होना चाहिए लेकिन मैं कुछ अलग बात कर रहा था।
फेबिन एम

हाँ, यह पता चला कि मुझे दो समस्याएँ थीं, पहली यह थी कि मूल मावेन अचूक परीक्षण के नियमों को याद नहीं किया गया था। दूसरा कनिष्ठ 5 लांचर लेने के लिए ग्रहण के लिए एक Maven> अद्यतन परियोजना नहीं कर रहा था।
dann.dev

मैं जोड़ना चाहूंगा कि वर्ग और विधियाँ सार्वजनिक होनी चाहिए।
जोनेस बाल्ज़

6

मुझे अगस्त 2019 में उसी समस्या का सामना करना पड़ा, जिसके बारे में मैंने यहां पूछा था: मावेन चुपचाप चलाने के लिए जेयूनेट परीक्षण खोजने में विफल रहता है । इन उत्तरों ने मुझे सही दिशा में अग्रसर किया, लेकिन मैंने पाया कि आप समस्या को और भी अधिक संक्षेप में हल कर सकते हैं। मैंने अपने समाधान को JUnit5 नमूना मावेन परियोजना से कॉपी किया

JUnit 5.5.1 और maven-surefire-plugin2.22.2 के अनुसार, आपको junit-platform-surefire-providerनिर्भरता जोड़ने की आवश्यकता नहीं है । यह आपके लिए एक निर्भरता और एक प्लगइन निर्दिष्ट करने के लिए पर्याप्त है pom.xml:

<dependencies>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>5.5.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
        </plugin>
    </plugins>
</build>

यह सही और संक्षिप्त दृष्टिकोण है। OpenJDK 11 और JUnit 5.6.2 के साथ काम करता है।
चांदी

5

बस पूरक करने के लिए, अशुद्धि 2.22.0 + जूनिट 5.2.0 + प्लेटफॉर्म 1.2.0 भी काम करता है। संलग्न आपके संदर्भ के लिए एक काम कर रहा है:

    <?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.jjhome.junit5</groupId>
    <artifactId>junit5-hone</artifactId>
    <packaging>jar</packaging>
    <version>1.0.0-SNAPSHOT</version>
    <name>junit5-home</name>

    <properties>
        <maven.compiler.source>1.6</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <junit5.version>5.2.0</junit5.version>
        <platform.version>1.2.0</platform.version>
        <surefire.version>2.22.0</surefire.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>${junit5.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <version>${junit5.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit5.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
            <version>${junit5.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-launcher</artifactId>
            <version>${platform.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-runner</artifactId>
            <version>${platform.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${surefire.version}</version>
                <dependencies>
                    <dependency>
                        <groupId>org.junit.platform</groupId>
                        <artifactId>junit-platform-surefire-provider</artifactId>
                        <version>${platform.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.junit.jupiter</groupId>
                        <artifactId>junit-jupiter-engine</artifactId>
                        <version>${junit5.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
</project>

मेरा मुद्दा यह था कि मेरे पास junit-vintage-engineनिर्भरता के रूप में नहीं था , और मेरे सभी परीक्षण JUnit 4 के लिए लिखे गए थे
मार्क

निर्दिष्ट जूनियर, प्लेटफॉर्म और अचूक संस्करणों के संयोजन ने मेरे लिए काम किया। धन्यवाद !
कोडरट्रर

4

मेरे मामले में यह क्लासपैथ में टेस्टएनजी के कारण था ( SUREFIRE-1527 )। ग्रूवी 2.5.5 POM इसे groovy-testngमॉड्यूल के साथ लाया है ।

मैन्युअल रूप से निर्दिष्ट परीक्षण-रूपरेखा प्रदाता (जैसा कि इसे https://maven.apache.org/surefire/maven-surefire-plugin/examples/providers.html पर वर्णित है ) ने समस्या हल की:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.1</version>

    <dependency>
        <groupId>org.apache.maven.surefire</groupId>
        <artifactId>surefire-junit-platform</artifactId>
        <version>2.22.1</version>
    </dependency>

आपको अपने कोड नमूने <dependency>में लपेटना चाहिए <dependencies>
user1053510


1

मुझे भी इसी तरह की समस्या थी, जिसके कारण ज़ीरोफायर को शून्य परीक्षणों को पहचानना पड़ा।

मेरी समस्या निम्नलिखित से संबंधित है ( JUnit 5.1.0 / maven प्रलेखन से)

अचूक 2.20 में मेमोरी लीक और जावा 9 पर चलने वाले मुद्दों के कारण, जूनियर-प्लेटफॉर्म-अचूक-प्रदाता वर्तमान में केवल अचूक 2.19.1 के साथ काम करता है।

मैं Surefire (2.21.0) और जूनट-प्लेटफॉर्म-अचूक-प्रदाता (1.1.0) के नवीनतम संस्करणों का उपयोग करने की कोशिश कर रहा था, और यह काम नहीं किया (न तो जावा 8 या 9 में)

श्योरफायर 2.19.1 पर वापस जाने से मेरी समस्या हल हो गई।

इस मुद्दे के अनुसार एक फिक्स जूनियर-प्लेटफ़ॉर्म-अचूक-प्रदाता के संस्करण 1.2.0 में शामिल किया जाएगा (वर्तमान में केवल स्नैपशॉट के रूप में उपलब्ध है)।


1
मैंने SNAPSHOTs की कोशिश की है और सभी काम कर रहा है (अचूक 2.21.0 के साथ)। उम्मीद है कि यह रिलीज के समय अभी भी काम कर रहा है।
user7610

1

एक बात पर मैंने गौर किया कि मैं इसे काम करने में सक्षम था:

  • मेरे परीक्षण वर्ग का नामकरण ClinicCalendarShouldमावेन द्वारा नहीं उठाया गया है
  • मेरे परीक्षण वर्ग का नामकरण ClinicCalendarTestमावेन द्वारा उठाया गया

इसलिए, जब तक कि मैं किसी प्रकार के कॉन्फ़िगरेशन या पैरामीटर को याद नहीं कर रहा हूं या जो भी निश्चित रूप से प्लग इन है, डिफ़ॉल्ट रूप से, आपको अपने टेस्ट क्लासेस XXXX वेस्ट का नाम देना होगा।


0

maven-surefire-plugin:2.20बिना किसी समस्या के Junit5 परीक्षण चलाने के लिए अद्यतन ।

लेकिन मैं M6Junit5 पर संस्करण का उपयोग कर रहा हूं।


उस सरल नहीं (कम से कम इस समय)। JUnit 5 उपयोगकर्ता गाइड
FrVaBe

@FrVaBe अजीब काम करता है सिर्फ m6 संस्करण के साथ खान पर ठीक है।
लेज़रबाना

2
मैंने थका देने वाले अचूक उपाय- 2.20.1 + जूनिट-5.0.2 और यह काम नहीं किया। मैंने भी अचूक कोशिश की -२.२०.१ + जूनियर-५.१.०-एम ६ और यह काम नहीं किया
एरिक

0

मेरे मामले में, अचूक प्लगइन को सही संस्करण auf the jupiter-engine / api नहीं मिला। और वह भी अगर Maven 3.6.1 und Surefireplugin संस्करण 2.22.2 चल रहा था!

अब मेरा अचूक-प्लगिन विन्यास ऐसा दिखता है:

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
            <dependencies>
                <dependency>
                    <groupId>org.junit.jupiter</groupId>
                    <artifactId>junit-jupiter-engine</artifactId>
                    <version>5.5.2</version>
                </dependency>
            </dependencies>
        </plugin>

        ...
    </plugins>
</pluginManagement>

इसके अलावा, मुझे इन संस्करणों को मजबूर करना पड़ा:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-engine</artifactId>
            <version>1.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-commons</artifactId>
            <version>1.5.2</version>
        </dependency>
    </dependencies>
</dependencyManagement>

ऐसा लगता है कि 5.5.2 मेरे मामले में 1.5.2 के बजाय गलत प्लेटफ़ॉर्म संस्करण 1.3.2 से जुड़ा हुआ था।

सभी JUnit5 टेस्ट अब उठाए जाते हैं। 2.22.0 अचूक प्लगइन के साथ भी मेरे लिए ऐसा नहीं था!

उम्मीद है की वो मदद करदे...


0

मैं एक ही मुद्दे का सामना कर रहा था दोनों junit5और maven-surefireपरीक्षण विफल हो रहे थे। हालाँकि junit4ठीक चल रहा था। नीचे दिए गए संयोजन ने मेरे लिए काम किया, मैं संस्करण को नहीं जोड़ता। junit-bomनिर्भरता प्रबंधन के लिए उपयोग करें । का उपयोग करते हुएspring-boot 2.1.4

   <dependencyManagement>
    <dependencies>
            <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>5.6.1</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <scope>test</scope>
        </dependency>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
        </plugin>
    </plugins>
</build>

ग्रहण के नवीनतम संस्करण में अपग्रेड करना सुनिश्चित करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.