junit
परीक्षण निष्पादन आदेश
खोज…
वाक्य - विन्यास
- @FixMethodOrder // डिफ़ॉल्ट विधि सॉर्टर का उपयोग करके परीक्षण चलाता है
- @FixMethodOrder (MethodSorters) // MethodSorters Enum के साथ जुड़े MethodSorter का उपयोग करके परीक्षण चलाता है।
डिफ़ॉल्ट आदेश
एनोटेशन का उपयोग करें - @FixMethodOrder(MethodSorters.DEFAULT)
। यह एक नियतात्मक और कुछ हद तक अनुमानित आदेश में कक्षा के भीतर सभी परीक्षण चलाता है। कार्यान्वयन में विधि के नामों को शामिल किया गया है और उनकी तुलना की गई है। एक टाई के परिदृश्य में, यह लेक्सोग्राफिक ऑर्डर द्वारा सॉर्ट करता है।
ज्यूनिट जीथब से लिया गया कोड सेगमेंट नीचे - मेथड्स पोर्टर.जवा
public int compare(Method m1, Method m2) {
int i1 = m1.getName().hashCode();
int i2 = m2.getName().hashCode();
if(i1 != i2) {
return i1 < i2 ? -1 : 1;
}
return NAME_ASCENDING.compare(m1,m2);
}
उदाहरण
@FixMethodOrder(MethodSorters.DEFAULT)
public class OrderedTest {
@Test
public void testA() {}
@Test
public void testB() {}
@Test
public void testC() {}
}
मान लीजिए कि testA
, testB
और testC
लिए हैश क्रमशः 3, 2 और 1 हैं। फिर निष्पादन आदेश है
- testC
- testB
- टेस्टा
मान लीजिए कि सभी परीक्षणों के लिए हैश एक ही है। चूंकि सभी हैश समान होते हैं, इसलिए निष्पादन आदेश लेक्सोग्राफिक ऑर्डर पर आधारित होता है। निष्पादन आदेश है
- टेस्टा
- testB
- testC
लेजिकोग्राफिक ऑर्डर
विधि सॉर्टर MethodSorters.NAME_ASCENDING
साथ एनोटेशन @FixMethodOrder
उपयोग करें। यह एक निर्धारक और पूर्वानुमेय क्रम में कक्षा के भीतर सभी परीक्षण चलाएगा। कार्यान्वयन विधियों के नामों की तुलना करता है और एक टाई के मामले में, यह विधियों की ' toString()
तुलना करता है।
ज्यूनिट जीथब से लिया गया कोड सेगमेंट नीचे - मेथड्स पोर्टर.जवा
public int compare(Method m1, Method m2) {
final int comparison = m1.getName().compareTo(m2.getName());
if(comparison != 0) {
return comparison;
}
return m1.toString().compareTo(m2.toString());
}
उदाहरण
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class OrderedTest {
@Test
public void testA() {}
@Test
public void testB() {}
@Test
public void testC() {}
}
निष्पादन आदेश है
- टेस्टा
- testB
- testC