हां, टेस्ट सूट में किसी भी परीक्षण से पहले और बाद में निर्धारित तरीके से सेट अप और फाड़ नीचे चलाने के लिए संभव है। मुझे कोड में प्रदर्शित करें:
package com.test;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({Test1.class, Test2.class})
public class TestSuite {
@BeforeClass
public static void setUp() {
System.out.println("setting up");
}
@AfterClass
public static void tearDown() {
System.out.println("tearing down");
}
}
तो आपकी Test1
कक्षा कुछ इस तरह दिखाई देगी:
package com.test;
import org.junit.Test;
public class Test1 {
@Test
public void test1() {
System.out.println("test1");
}
}
... और आप कल्पना कर सकते हैं कि Test2
समान दिखता है। यदि आप भागते हैं TestSuite
, तो आपको मिलेगा:
setting up
test1
test2
tearing down
तो आप देख सकते हैं कि सेट अप / आंसू नीचे क्रमशः सभी परीक्षणों से पहले और बाद में चलते हैं।
पकड़: यह केवल तभी काम करता है जब आप टेस्ट सूट चला रहे हों, और टेस्ट 1 और टेस्ट 2 को अलग-अलग JUnit परीक्षणों के रूप में नहीं चला रहे हों। आपने उल्लेख किया कि आप मावेन का उपयोग कर रहे हैं, और मावेन अचूक प्लगइन व्यक्तिगत रूप से परीक्षण चलाना पसंद करता है, और एक सूट का हिस्सा नहीं है। इस मामले में, मैं एक सुपरक्लास बनाने की सिफारिश करूंगा जो प्रत्येक टेस्ट क्लास तक फैले। सुपरक्लास में तब एनोटेट @BeforeClass और @AfterClass विधियाँ सम्मिलित होती हैं। हालांकि उपरोक्त विधि के रूप में काफी साफ नहीं है, मुझे लगता है कि यह आपके लिए काम करेगा।
असफल परीक्षणों के साथ समस्या के लिए, आप maven.test.error.ignore सेट कर सकते हैं ताकि बिल्ड विफल परीक्षणों पर जारी रहे। यह निरंतर अभ्यास के रूप में अनुशंसित नहीं है, लेकिन यह आपको तब तक कार्यशील होना चाहिए जब तक कि आपके सभी परीक्षण पास न हो जाएं। अधिक विवरण के लिए, मावेन अचूक दस्तावेज देखें ।
post-integration-test
यदि परीक्षण विफल हो जाता है तो यह स्किप नहीं होगा । इस विकी पेज को भी देखें ।