खोज…


वाक्य - विन्यास

  • mvn परीक्षण
  • mvn -डस्ट = com.example.package.ExampleTest परीक्षण

JUnit और Maven Surefire प्लगइन के साथ जावा वर्ग का परीक्षण

Maven Surefire plugin Maven build process के परीक्षण चरण के दौरान या जब test को Maven लक्ष्य के रूप में निर्दिष्ट किया जाता है। निम्न निर्देशिका संरचना और न्यूनतम pom.xml फ़ाइल परीक्षण चलाने के लिए मावेन को कॉन्फ़िगर करेगी।

परियोजना की मूल निर्देशिका के अंदर निर्देशिका संरचना:

─ project_root 
  ├─ pom.xml
  ├─ src
  │  ├─ main
  │  │  └─ java
  │  └─ test
  │     └─ java
  └─ target
     └─ ...

pom.xml सामग्री:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>company-app</artifactId>
  <version>0.0.1</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

प्रोजेक्ट के src/test/java/com/example/app निर्देशिका में निम्नलिखित सामग्री के साथ PlusTenTest.java नामक एक फ़ाइल बनाएँ:

package com.example.app;

import static org.junit.Assert.assertEquals;
import org.junit.Test;

public class PlusTenTest {
    
    @Test
    public void incrementTest() {
        int result = PlusTen.increment(10);
        assertEquals("PlusTen.increment(10) result", 20, result);
    }
}

एनोटेशन @Test JUnit से कहता है कि उसे मावेन बिल्ड प्रक्रिया के test चरण के दौरान एक परीक्षण के रूप में incrementTest() चलाना चाहिए। अब src/main/java/com/example/app में PlusTen.java बनाएँ:

package com.example.app;

public class PlusTen {
    public static int increment(int value) {
        return value;
    }
}

कमांड प्रॉम्प्ट खोलकर, प्रोजेक्ट के रूट डायरेक्टरी में नेविगेट करके और निम्न कमांड को लागू करके टेस्ट चलाएं:

mvn -Dtest=com.example.app.PlusTenTest test

PlusTenTest कार्यक्रम को संकलित करेगा और परीक्षण विधि incrementTest() को PlusTenTest में PlusTenTest । परीक्षण निम्न त्रुटि के साथ विफल हो जाएगा:

...
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec <<< FAILURE! - in com.example.app.PlusTenTest
incrementTest(com.example.app.PlusTenTest)  Time elapsed: 0.004 sec  <<< FAILURE!
java.lang.AssertionError: PlusTen.increment(10) result expected:<20> but was:<10>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:743)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:555)
at com.example.app.PlusTenTest.incrementTest(PlusTenTest.java:12)


Results :

Failed tests:   
  PlusTenTest.incrementTest:12 PlusTen.increment(10) result expected:<20> but was:<10>

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

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.749 s
[INFO] Finished at: 2016-09-02T20:50:42-05:00
[INFO] Final Memory: 14M/209M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project app: There are test failures.
...

Maven Surefire plugin आपके प्रोजेक्ट की डायरेक्टरी में एक /target/surefire-reports/ निर्देशिका बनाता है जिसमें com.example.app.PlusTenTest.txt और TEST-com.example.app.PlusTenTest.xml शामिल हैं जो शुरुआत के त्रुटि विवरण रखते हैं। ऊपर उत्पादन का।

परीक्षण-संचालित विकास पैटर्न के बाद, PlusTen.java संशोधित PlusTen.java ताकि increments() विधि सही ढंग से काम करे:

package com.example.app;

public class PlusTen {
    public static int increment(int value) {
        return value + 10;
    }
}

फिर से कमांड दें:

mvn -Dtest=com.example.app.PlusTenTest test

परीक्षण गुजरता है:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.example.app.PlusTenTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec

Results :

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

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.753 s
[INFO] Finished at: 2016-09-02T20:55:42-05:00
[INFO] Final Memory: 17M/322M
[INFO] ------------------------------------------------------------------------

बधाई हो! आपने JUnit और Maven Surefire plugin का उपयोग करके जावा वर्ग का परीक्षण किया है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow