সুরফায়ার জুনিট 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
এই মুহূর্তে আপনাকে নিশ্চিত ফায়ার-প্লাগইনটির একটি বিশেষ বাস্তবায়ন ব্যবহার করতে হবে। এখানে
jah

1
প্রশ্নটি পুরানো সংস্করণের ভিত্তিতে তবে এই উত্তরটি বর্তমানের (ডিসেম্বর ২০১ December হিসাবে) উপর ভিত্তি করে।
নিকোলাই

@ নিকোলাই উত্তর আপডেট করার জন্য ধন্যবাদ। যাইহোক আমি আপনার সময় থাকলে প্রশ্নে আপনার সম্পাদনার প্রশংসা করব।
আলী দেহঘানি

1
এই ত্রুটি আর হয় না। পরীক্ষার মৃত্যুদণ্ডের অভাবের সবচেয়ে সম্ভাব্য কেস এই প্রশ্নটি দ্বারা আচ্ছাদিত ।
নিকোলাই

পরীক্ষা ফাইলগুলি সঠিক জায়গায় রয়েছে তা নিশ্চিত করুন। ডিফল্টরূপে পরীক্ষাটি এসআরসি ফোল্ডারের অধীনে মূল ভাইবোন হওয়া উচিত।
জো বোবিয়ার

উত্তর:


115

maven-surefire-pluginআজই থেকে, নেই JUnit 5 পূর্ণ সমর্থন নেইস্যুরফায়ার -1206 এ এই সমর্থনটি যুক্ত করার বিষয়ে একটি মুক্ত বিষয় রয়েছে ।

যেমন, আপনার একটি কাস্টম সরবরাহকারী ব্যবহার করা দরকার । একটি ইতিমধ্যে জুনিট দল তৈরি করেছে; ব্যবহারকারী গাইড থেকে আপনার নতুন এপিআইয়ের জন্য 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
লক্ষণীয় যে এই মুহুর্তে নিশ্চিত ফায়ার ২.২০.১ জুনিট 5 সরবরাহকারীর সাথে কাজ করে না সুতরাং এইভাবে নমুনায় ব্যবহৃত 2.19.1 গত বছর পেরিয়ে গেলেও বৈধ।
স্প্ল্যাচ

1
নিশ্চিতফায়ার 2.21.0 খুব বেশি কাজ করে না, 2.19.1 এ রোলব্যাক করতে হবে
ভালডজকা

@ ভলডজকা আমার জন্য এটি 2.21.0 এবং প্লাগইন এবং জুনিট 5 এর নতুন সংস্করণগুলির সাথে কাজ করে। জুনিট.আর।
জুনিট

যাচাইকৃত: maven-surefire-plugin v2.21.0সঙ্গে কাজ করে জরিমানা junit-jupiter-engine v5.2.0এবং junit-platform-surefire-provider v1.2.0
povis

2
এই কনফিগারেশন সুরফায়ার ২.২২.০ বা তারও বেশি ক্ষেত্রে ব্যর্থ হবে। আপনার জুনিয়র ডিপগুলি সুরফায়ার কনফিগারেশন থেকে বাদ দিতে হবে। আমি এটি সম্পর্কে একটি দ্রুত পোস্ট এখানে লিখেছি
জন থম্পসন

51

আপডেট 2

ইস্যু ম্যাভেন surefire প্লাগইন v2.22.0 মধ্যে সংশোধন করা হয়েছে

নতুন সংস্করণ মাভেন কেন্দ্রীয় সংগ্রহস্থলগুলিতে উপলভ্য।

ম্যাভেন

<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 প্ল্যাটফর্ম শিওরফায়ার প্রোভাইডার (১.২.০) এর সর্বশেষ সংস্করণটি মাভেন সুরফায়ার প্লাগইন (২.২.১.০) এর সর্বশেষ সংস্করণ সমর্থন করে :

        <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);
    }
}

আউটপুট (এমভিএন ক্লিন ইনস্টল)

...
[তথ্য] --- মেভেন-শিফারফায়ার-প্লাগইন: 2.21.0 : পরীক্ষা (ডিফল্ট-পরীক্ষা) @ পরীক্ষা --- [তথ্য]]
[তথ্য] -------------- -----------------------------------------
[তথ্য] পরীক্ষার
[তথ্য] - -------------------------------------------------- ---
[আইএনএফও
] পরীক্ষা চলছে [ টেস্টসেনারিও [ আইএনএফও ] পরীক্ষা চালাচ্ছে: 1, ব্যর্থতা: 0, ত্রুটিগুলি: 0, এড়িয়ে গেছে: 0, সময় অতিবাহিত হয়েছে: পরীক্ষায় 0.005 এস T টেস্টসেনারিও
[INFO]
[INFO] ফলাফল:
[INFO ]
[তথ্য] পরীক্ষাগুলি রান: 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
এটি কেবল ক্লাসের নামে টেস্টের কারণে কাজ করে। ক্লাসটির নামকরণ উদাহরণসনারিও করুন - এটি আবিষ্কার হবে না। (শিফায়ার ২.২২.০)
আলেক্সি

@ অ্যালেক্সেইভিনোগ্রাডভ হ্যাঁ এটি প্রত্যাশিত আচরণ। আরও তথ্যের উপলব্ধ: stackoverflow.com/a/6178629/3523579
মিখাইল Kholodkov

বেভারে, জুনিট ইঞ্জিন সংস্করণ বনাম স্প্রিং বুট প্যারেন্ট সংস্করণ। কেবল নির্ভরতা জুনিট-বৃহস্পতি-ইঞ্জিন নির্দিষ্ট করুন: 5.1 নতুন সংস্করণগুলি যেখানে কাজ করে সেখানে কাজ করে না। স্প্রিং বুট এখনও JUnit4 <জুনিট.ভার্সন> 4.13 পূর্বনির্ধারিত হয়েছে।
ওওফ

20

থেকে JUnit 5 ডকুমেন্টেশন :

সংস্করণ দিয়ে শুরু করে 2.22.0, মাভেন শিওারফায়ার জুনট প্ল্যাটফর্মে পরীক্ষা চালানোর জন্য স্থানীয় সমর্থন সরবরাহ করে।

অতিরিক্ত হিসাবে আপনি maven-surefire-pluginডকুমেন্টেশন পড়তে পারেন :

JUnit 5 প্ল্যাটফর্ম ব্যবহার করে

JUnit প্ল্যাটফর্মটি শুরু করতে TestEngineআপনাকে আপনার প্রকল্পে কমপক্ষে একটি একক বাস্তবায়ন যুক্ত করতে হবে। উদাহরণস্বরূপ, আপনি যদি বৃহস্পতির সাথে পরীক্ষা লিখতে চান তবে junit-jupiter-engine POM এর নির্ভরতার সাথে পরীক্ষাগুলি যুক্ত করুন

সুতরাং রান ইউনাইট 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>

আমার গিটহাব স্পেসে আমি একটি কার্যকারী নমুনা মাভেন প্রকল্প যুক্ত করেছি যা আপনি ব্রাউজ / ক্লোন করতে পারেন।
ইউআরএল: https://github.com/ebundy/ জুন it5- minimal-maven- project


9

আমি JUnit5 এবং মাভেনের সাথে এই ইস্যুটিতে দৌড়েছি তবে এটিও লক্ষ্য করেছি যে, কেবল জুনিট-বৃহস্পতি-ইঞ্জিনকে নির্ভরতা হিসাবে যুক্ত করা হলেও পরীক্ষা অন্যের উপর নয় কিছু প্রকল্পে চলবে । এবং আমি এখানে মন্তব্যগুলিতে একই ধরণটি দেখতে পেয়েছি: উপরের @ অ্যালেক্স মন্তব্যে আপনি দেখতে পাচ্ছেন যে তার কোনও সমস্যা নেই, এমনকি পূর্ববর্তী সংস্করণ / জুনিট / প্ল্যাটফর্মের সাথেও তার কোনও সমস্যা নেই।

কিছু সময়ের জন্য আমার মাথা প্রারম্ভিক পর আমি বুঝতে পারি যে ঐ প্রকল্প যেখানে পরীক্ষার চালাতে না হবে সেই যেখানে পরীক্ষার ছিল পদ্ধতি নাম ডিআইটি না শব্দ "পরীক্ষা" থাকে। যদিও এটি বাধ্যতামূলক নয় http://maven.apache.org/surefire/maven-surefire-plugin/example/inc સમાવેશ- 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);
}

চালানো হবে!

এই সমস্যাটি একটি রাশিয়ান পুতুল হিসাবে উদ্ভাসিত ...

যাইহোক, @ মিখাইল খোলোডকভের জন্য +1 যার আপডেট উত্তরগুলি সমস্ত বিষয় একসাথে ঠিক করে দেয়!


আমি mvn 3.5.0, jdk 1.8.0_101 নিয়ে সবেমাত্র একটি সমস্যা পেয়েছি যেখানে আমার ক্লাসের নামটিতে 'টেস্ট' ছিল না এবং পরীক্ষাটি নেওয়া হয়নি, এটি আমাকে এটি খুঁজে পেতে সহায়তা করেছিল!
ড্যান.দেব

হ্যাঁ আপনার অবশ্যই maven.apache.org/surefire/maven-surefire-plugin/example/… এর সাথে অনুগত হওয়া উচিত তবে আমি অন্যরকম কিছু কথা বলছিলাম।
ফাবিয়েন এম

হ্যাঁ দেখা গেল আমার দুটি সমস্যা ছিল, প্রথমটি বেসিক মেভেন শিফারফায়ার পরীক্ষার নিয়মগুলি মনে রাখছিল না। দ্বিতীয়টি জুনেট 5 লঞ্চারটি নেওয়ার জন্য গ্রহনটির জন্য কোনও মাভেন> আপডেট প্রকল্প করছে না।
ড্যান.দেব

আমি যোগ করতে চাই যে ক্লাস এবং পদ্ধতিগুলি সর্বজনীন হতে হবে।
জোনস বালাজ

6

আগস্ট 2019 এ আমি একই সমস্যার মুখোমুখি হয়েছি যার বিষয়ে আমি এখানে জিজ্ঞাসা করেছি: মাভেন চুপচাপ JUnit পরীক্ষা চালাতে ব্যর্থ হয়েছে । এই উত্তরগুলি আমাকে সঠিক দিকে নিয়ে গেছে, তবে আমি দেখতে পেয়েছি আপনি আরও জটিলতার সাথে সমস্যার সমাধান করতে পারেন। আমি JUnit5 নমুনা মাভেন প্রকল্প থেকে আমার সমাধানটি অনুলিপি করেছি ।

জুনেট 5.5.1 এবং হিসাবে maven-surefire-pluginজুনিয়ট 2.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>

এটি সঠিক এবং সংক্ষিপ্ত পদ্ধতির। ওপেনজেডিকে 11 এবং জুনিট 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কোনও নির্ভরতা ছিল না এবং আমার সমস্ত পরীক্ষাগুলি ইউনাইট ৪
মার্ক

নির্দিষ্ট জুনিট, প্ল্যাটফর্ম এবং শিফায়ার সংস্করণগুলির সংমিশ্রণটি আমার পক্ষে কাজ করেছিল। ধন্যবাদ!
কোডারটিআর

4

আমার ক্ষেত্রে এটি ক্লাসপথে টেস্টএনজির কারণে হয়েছিল ( স্যুরফায়ার -1527 )। গ্রোভি 2.5.5 পিএমএম এটি groovy-testngমডিউল সহ নিয়ে এসেছে ।

ম্যানুয়ালি নির্দিষ্ট করা টেস্ট-ফ্রেমওয়ার্ক সরবরাহকারী (যেমন এটি https://maven.apache.org/surefire/maven-surefire-plugin/example/provider.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>আপনার কোড নমুনা।
ব্যবহারকারী 1053510


1

আমারও অনুরূপ সমস্যা ছিল শ্যুয়ারফায়ার শূন্য পরীক্ষাগুলি স্বীকৃতি দেয়।

আমার সমস্যাটি নিম্নলিখিতগুলির সাথে সম্পর্কিত হয়ে উঠেছে ( জাউনিট 5.1.0 / মভেন ডকুমেন্টেশন থেকে):

শিওরফায়ার ২.২০ এ একটি স্মৃতি গতির কারণে এবং জাভা ৯ এ চলমান সমস্যাগুলির কারণে, জুনিট-প্ল্যাটফর্ম-শিফারফায়ার-সরবরাহকারী বর্তমানে কেবল সুরফায়ার ২.১৯.১ নিয়ে কাজ করে।

আমি শিওরফায়ার (২.২.০.০) এবং জুনিট-প্ল্যাটফর্ম-শিফারফায়ার-সরবরাহকারী (১.১.০) এর সর্বশেষ সংস্করণগুলি ব্যবহার করার চেষ্টা করছিলাম, এবং এটি কার্যকর হয়নি (জাভা 8 বা 9 তে নয়)

সুরইফায়ার ২.১৯.১ এ ফিরে যাওয়া আমার সমস্যার সমাধান করেছে।

এই ইস্যু অনুসারে একটি ফিক্স জুনিট-প্ল্যাটফর্ম-শিফারফায়ার-সরবরাহকারী (বর্তমানে কেবল এসএনএপিএসএইচটি হিসাবে উপলব্ধ) এর 1.2.0 সংস্করণে অন্তর্ভুক্ত করা হবে।


1
আমি SNAPSHOTs চেষ্টা করেছি এবং সব কাজ করছে (শিওরফায়ার ২.২.১.০ সহ)। আশা করি এটি মুক্তির সময় এখনও কাজ করবে।
ব্যবহারকারী 7610

1

একটি জিনিস আমি লক্ষ্য করেছি যে আমি এটি কাজ করতে সক্ষম হয়েছি:

  • আমার পরীক্ষার ক্লাসের নামকরণ ClinicCalendarShouldম্যাভেন দ্বারা নেওয়া হবে না
  • আমার পরীক্ষার শ্রেণীর নামকরণ ClinicCalendarTestকরা মাভেন দ্বারা তুলে নেওয়া হবে

সুতরাং, আমি যদি না কোনও ডিফল্টরূপে কনফিগারেশন বা প্যারামিটার বা নিশ্চিতফায়ার প্লাগইনটিতে যা কিছু মিস করছি, আপনার পরীক্ষার ক্লাসের নাম রাখা উচিত XXX টেস্ট।


0

maven-surefire-plugin:2.20কোনও সমস্যা ছাড়াই জুনিট 5 পরীক্ষার জন্য আপডেট করা ।

তবে আমি M6জুনিট 5 এ সংস্করণটি ব্যবহার করছি ।


এত সহজ নয় (অন্তত মুহূর্তে)। দেখুন JUnit 5 ইউজার গাইড
FrVaBe

এমআরএল সংস্করণটি দিয়ে আমার উপর ফ্রিভাবে অদ্ভুত কাজগুলি ঠিকঠাক করে।
LazerBanana

2
আমি নিশ্চিতফায়ার - 2.20.1 + জুনিট -5.0.2 ক্লান্ত করেছি এবং এটি কার্যকর হয়নি। আমি নিশ্চিতফায়ার -২.২০.১ + জুনিট -৫.১.০-এম 6 চেষ্টা করেছি এবং এটি কার্যকর হয়নি
এরিক

0

আমার ক্ষেত্রে, নিশ্চিতফায়ার প্লাগইনটি বৃহস্পতি ইঞ্জিন / এপিআইউফের সঠিক সংস্করণটি পায় নি। এবং এটি ছিল এমনকি যদি ম্যাভেন 3.6.1 অপরিশোধিত প্লাগইন সংস্করণ 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 টেস্ট এখনই বাছাই করা হবে। এমনকি ২২.২.০ নিশ্চিত ফায়ার প্লাগইনটি আমার পক্ষে ছিল না!

আশা করি এইটি কাজ করবে...


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>

গ্রহতের সর্বশেষতম সংস্করণে আপগ্রেড করার বিষয়টি নিশ্চিত করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.