एकीकरण परीक्षण सेट करना
अपने प्रोजेक्ट को एकीकरण परीक्षणों के लिए कॉन्फ़िगर करें, जिसमें परीक्षण वातावरण और निर्भरताओं का प्रबंधन भी शामिल है।
एकीकरण परीक्षण सेट करना, CoddyKit पर परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
एकीकरण परीक्षण सेटअप का परिचय
एकीकरण परीक्षणों का सेटअप करने के पाठ में आपका स्वागत है! यूनिट और एकीकरण परीक्षणों के बीच का अंतर सीखने के बाद अब अपने प्रोजेक्ट को तैयार करने का समय है।
एकीकरण परीक्षणों को विश्वसनीय रूप से चलाने के लिए उचित सेटअप बहुत महत्वपूर्ण है। इससे यह सुनिश्चित होता है कि आपके परीक्षण अलग-थलग और दोहराए जा सकने योग्य हों तथा आपके विकास परिवेश में हस्तक्षेप न करें।
स्रोत फ़ोल्डरों को अलग करना
पहला चरण अपने एकीकरण परीक्षणों को यूनिट परीक्षणों से स्पष्ट रूप से अलग करना है। इससे आपका कोडबेस व्यवस्थित रहता है और निर्माण उपकरण उन्हें अलग-अलग ढंग से संभाल सकते हैं।
- यूनिट परीक्षण: आमतौर पर
src/test/javaमें रखे जाते हैं। - एकीकरण परीक्षण: अक्सर
src/it/javaयाsrc/integrationTest/javaजैसे समर्पित फ़ोल्डर में रखे जाते हैं।
इस अलगाव से निर्माण प्रक्रिया के अलग-अलग चरणों में इन्हें चलाना आसान हो जाता है।
Maven: IT स्रोत कॉन्फ़िगर करना
यदि आप Maven का उपयोग कर रहे हैं, तो आपको अपने pom.xml को नए एकीकरण परीक्षण स्रोत फ़ोल्डर को पहचानने के लिए बताना होगा। इसके लिए आमतौर पर build-helper-maven-plugin का उपयोग किया जाता है।
यह src/it/java को परीक्षण स्रोत निर्देशिका के रूप में जोड़ता है, जिससे Maven आपके एकीकरण परीक्षणों को संकलित कर सकता है।
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.5.0</version>
<executions>
<execution>
<id>add-integration-test-sources</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/it/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
</project>Gradle: IT स्रोत कॉन्फ़िगर करना
Gradle उपयोगकर्ताओं के लिए एकीकरण परीक्षणों हेतु अलग स्रोत सेट परिभाषित करना सरल है। इससे आप एकीकरण परीक्षणों को स्वतंत्र रूप से संकलित और चला सकते हैं।
नीचे दिए गए उदाहरण में integrationTest स्रोत सेट को परिभाषित करने और उसकी निर्भरताओं को कॉन्फ़िगर करने का तरीका दिखाया गया है।
sourceSets {
integrationTest {
java.srcDir 'src/it/java'
resources.srcDir 'src/it/resources'
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
}
}
configurations {
integrationTestImplementation.extendsFrom testImplementation
integrationTestRuntimeOnly.extendsFrom testRuntimeOnly
}
task integrationTest(type: Test) {
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
shouldRunAfter test
}
check.dependsOn integrationTestआवश्यक परीक्षण निर्भरताएँ
एकीकरण परीक्षणों के लिए अक्सर ऐसी विशिष्ट निर्भरताओं की आवश्यकता होती है, जिनकी यूनिट परीक्षणों को आवश्यकता नहीं होती। इनमें शामिल हो सकते हैं:
- मेमोरी में चलने वाले डेटाबेस: तेज़ और अलग-थलग डेटाबेस परीक्षण के लिए H2 या HSQLDB जैसे डेटाबेस।
- Testcontainers: Docker में वास्तविक सेवा कंटेनर (डेटाबेस, संदेश कतार) शुरू करने वाली लाइब्रेरी।
- वेब परीक्षण ढाँचे: वेब स्तर के परीक्षण के लिए (जैसे, Spring का
spring-test,MockMvc)।
इन्हें अपने परीक्षण या एकीकरण परीक्षण निर्भरता दायरे में जोड़ें।
Maven Failsafe Plugin
जहाँ Maven का Surefire प्लगइन यूनिट परीक्षण चलाता है, वहीं Maven Failsafe Plugin को एकीकरण परीक्षणों के लिए बनाया गया है।
यह integration-test और verify चरणों के दौरान परीक्षण चलाता है, जिससे यह सुनिश्चित होता है कि कोई भी सेटअप (जैसे सर्वर शुरू करना) परीक्षण चलने से पहले हो और संसाधनों की सफ़ाई उसके बाद हो।
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.2.5</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
</project>समर्पित परीक्षण कॉन्फ़िगरेशन
एकीकरण परीक्षणों को अक्सर आपके मुख्य एप्लिकेशन या यूनिट परीक्षणों से अलग कॉन्फ़िगरेशन की आवश्यकता होती है। उदाहरण के लिए, वे किसी विशिष्ट परीक्षण डेटाबेस से जुड़ सकते हैं या बाहरी सेवाओं के अलग यूआरएल का उपयोग कर सकते हैं।
अलग कॉन्फ़िगरेशन फ़ाइलों का उपयोग करना अच्छा अभ्यास है (जैसे, Spring Boot के लिए application-it.properties), जो एकीकरण परीक्षण चलने के दौरान डिफ़ॉल्ट सेटिंग को बदल देती हैं।
परीक्षण परिवेश तैयार करना
एकीकरण परीक्षण चलने से पहले आपको अक्सर परिवेश तैयार करना पड़ता है। इसमें ये कार्य शामिल हो सकते हैं:
- एम्बेडेड डेटाबेस शुरू करना।
- Testcontainers का उपयोग करके बाहरी सेवाओं के लिए Docker कंटेनर शुरू करना।
- विशिष्ट परीक्षण डेटा प्रारंभ करना।
JUnit के @BeforeAll और @AfterAll एनोटेशन प्रत्येक परीक्षण वर्ग के लिए संसाधनों को एक बार सेट अप करने और अंत में हटाने के लिए उपयुक्त हैं।
परिवेश सेटअप का उदाहरण
यहाँ एक सरल उदाहरण है, जिसमें दिखाया गया है कि आप अपने एकीकरण परीक्षणों के लिए किसी संसाधन को 'तैयार' करने हेतु @BeforeAll का उपयोग कैसे कर सकते हैं। यह सेटअप वर्ग के सभी परीक्षणों से पहले एक बार चलता है।
सेटअप संदेश देखने के लिए इस उदाहरण को चलाकर देखें।
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
public class SimpleIntegrationSetupTest {
@BeforeAll
static void setupEnvironment() {
System.out.println("--- Setting up test environment (e.g., starting a database) ---");
// In a real scenario, you'd start a container or connect to a test DB here.
}
@AfterAll
static void tearDownEnvironment() {
System.out.println("--- Tearing down test environment (e.g., stopping a database) ---");
// In a real scenario, you'd stop containers or clean up resources here.
}
@Test
void testSomethingIntegrated() {
System.out.println(" Running an integration test...");
// Your actual integration test logic would go here.
// assert something...
}
public static void main(String[] args) {
// This main method allows the snippet to be runnable.
// In a real project, tests are run by build tools.
System.out.println("This is a placeholder for running the test.");
// You would typically use JUnit's API to run tests programmatically if not using Maven/Gradle.
}
}IT चलाने से जुड़ा प्रश्न
आपने Maven का उपयोग करके अपने प्रोजेक्ट को एकीकरण परीक्षणों के लिए तैयार कर लिया है। Failsafe प्लगइन का उपयोग करके इन परीक्षणों को चलाने के लिए आमतौर पर कौन-सा Maven कमांड इस्तेमाल किया जाता है?
पुनरावलोकन: सुव्यवस्थित परीक्षण
बहुत अच्छा! आपने अपने प्रोजेक्ट को एकीकरण परीक्षणों के लिए सेट अप करना सीख लिया है।
- हम एकीकरण परीक्षणों को उनके अलग स्रोत फ़ोल्डरों में रखते हैं (जैसे,
src/it/java)। - Maven (जिसमें
build-helper-maven-pluginऔरmaven-failsafe-pluginशामिल हैं) या Gradle जैसे निर्माण उपकरणों को इन्हें पहचानने और चलाने के लिए कॉन्फ़िगर किया जाता है। - विशिष्ट निर्भरताएँ और समर्पित कॉन्फ़िगरेशन फ़ाइलें अलग-थलग परीक्षण परिवेश सुनिश्चित करती हैं।
@BeforeAllऔर@AfterAllसंसाधनों के सेटअप और हटाने को प्रबंधित करने में मदद करते हैं।
यह मज़बूत सेटअप प्रभावी एकीकरण परीक्षण लिखने के लिए ठोस आधार प्रदान करता है!
एआई शिक्षक के साथ परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “एकीकरण परीक्षण सेट करना” पाठ निःशुल्क है?
हाँ — परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “एकीकरण परीक्षण सेट करना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“एकीकरण परीक्षण सेट करना” में मैं क्या सीखूँगा?
अपने प्रोजेक्ट को एकीकरण परीक्षणों के लिए कॉन्फ़िगर करें, जिसमें परीक्षण वातावरण और निर्भरताओं का प्रबंधन भी शामिल है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“एकीकरण परीक्षण सेट करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- यूनिट और एकीकरण परीक्षणों में अंतर
- एकीकरण परीक्षण सेट करना
- डेटाबेस इंटरैक्शन का परीक्षण
- WireMock से बाहरी API का परीक्षण