में विफल रहता है, मेरे पास जेफुनक का उपयोग करके मेरा मौजूदा ढांचा बनाया गया है जो परीक्षण केस में एक आवेषण विफल होने पर भी निष्कर्ष जारी रखने की सुविधा प्रदान करता है। Jfunc जूनिट 3.x ढांचे का उपयोग करता है। लेकिन अब हम जूनिट 4 में माइग्रेट कर रहे हैं, इसलिए मैं अब Jfunc का उपयोग नहीं कर सकता और इसे जूनिट 4.10 जार से बदल दिया है।
अब समस्या यह है कि हमने अपने ढांचे में व्यापक रूप से jfunc का उपयोग किया है, और जूनिट 4 के साथ हम अपने कोड को निष्पादन जारी रखना चाहते हैं, भले ही एक आवेषण परीक्षण मामले में विफल हो जाए।
क्या किसी के पास इसके लिए कोई सुझाव/विचार है, मुझे जूनिट में पता है कि परीक्षणों को अधिक परमाणु होने की आवश्यकता है यानी प्रति परीक्षण मामले में एक दावा है लेकिन हम किसी कारण से हमारे ढांचे में ऐसा नहीं कर सकते हैं।जूनिट 4 में निरंतर परीक्षण निष्पादन, जब भी एक आवेषण
उत्तर
आप इसे ErrorCollector नियम का उपयोग कर ऐसा कर सकते हैं।
इसका इस्तेमाल के लिए, पहले अपने परीक्षण कक्षा में एक क्षेत्र के रूप में नियम जोड़ने:
public class MyTest {
@Rule
public ErrorCollector collector = new ErrorCollector();
//...tests...
}
फिर collector.checkThat(...)
के लिए कॉल के साथ अपने का दावा है की जगह।
उदा।
@Test
public void myTest() {
collector.checkThat("a", equalTo("b"));
collector.checkThat(1, equalTo(2));
}
मैं त्रुटिकोलेक्टर का भी उपयोग करता हूं लेकिन assertThat का उपयोग भी करता हूं और उन्हें एक कोशिश पकड़ ब्लॉक में रखता हूं।
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
@Rule
public ErrorCollector collector = new ErrorCollector();
@Test
public void calculatedValueShouldEqualExpected() {
try {
assertThat(calculatedValue(), is(expected));
} catch (Throwable t) {
collector.addError(t);
// do something
}
}
प्रयास/अंत में ब्लॉक का उपयोग करें। यह मेरे मामले में काम किया:
...
try {
assert(...)
} finally {
// code to be executed after assert
}
...
आपको पता है कि यह प्रश्न 2 साल पहले पोस्ट किया गया था और पहले से ही एक स्वीकार्य उत्तर है? –
@TheJuniorProgrammer बस एक सामान्य नोट, यह साइट केवल स्वीकृत उत्तरों के बारे में नहीं है। मुद्दा उन उपयोगकर्ताओं की सहायता करना है जो किसी समस्या का हल ढूंढने के लिए उत्तर खोजते हैं।कभी-कभी किसी समस्या को हल करने के लिए कई दृष्टिकोण होते हैं, और कभी-कभी एक व्यक्ति के लिए जो भी काम करता है वह दूसरे के लिए भी काम नहीं कर सकता है। – nomistic
@ नोमिस्टिक ठीक, पर्याप्त सच है। –
तुम भी उपयोग कर सकते हैं assertj - soft assertion
@Test
public void testCollectErrors(){
SoftAssertions softly = new SoftAssertions();
softly.assertThat(true).isFalse();
softly.assertThat(false).isTrue();
// Don't forget to call SoftAssertions global verification !
softly.assertAll();
}
इसके अलावा बिना इसका इस्तेमाल करने के अन्य तरीके मौजूद हैं मैन्युअल रूप से आह्वान softly.assertAll();
- 1. जूनिट 4
- 2. जूनिट 4 - परीक्षण टाइमआउट पर सफाई
- 3. जूनिट 4 में पैरामीटरयुक्त सूट?
- 4. जूनिट परीक्षण
- 5. जूनिट परीक्षण
- 6. जूनिट परीक्षण
- 7. जूनिट 4: अपेक्षित = स्प्रिंग
- 8. जूनिट परीक्षण
- 9. जूनिट परीक्षण
- 10. जावा जूनिट परीक्षण समस्या
- 11. वसंत जूनिट परीक्षण
- 12. ग्रहण मेरा नया जूनिट परीक्षण
- 13. Autowire जूनिट परीक्षण
- 14. ग्रहण जूनिट प्लगइन परीक्षण
- 15. जूनिट: फोर्कमोड = "एक बार" परीक्षण शुद्धता पर
- 16. ग्रोवी + ग्रहण + जूनिट 4 कैसे सेट करें?
- 17. मेवेन 2 जूनिट 4 टेस्ट
- 18. उसी परियोजना में ग्रहण जूनिट परीक्षण
- 19. जूनिट
- 20. जूनिट 4 टेस्ट सूट और व्यक्तिगत टेस्ट क्लासेस
- 21. अभी भी परीक्षण
- 22. मैं .NET में निरंतर परीक्षण कैसे करूं?
- 23. मेवेन निर्माण में समानांतर में जूनिट परीक्षण चलाना?
- 24. एक्लिप्स वास्तव में जूनिट परीक्षण कैसे चलाता है?
- 25. सेटअप, जूनिट परीक्षण को निष्क्रिय करें
- 26. जूनिट एकाधिक सेटअप और एकल परीक्षण
- 27. समानांतर परीक्षण निष्पादन rspec
- 28. जूनिट 3 में कक्षा टियरडाउन?
- 29. एक्सकोड 4 - त्रुटि निष्पादन योग्य
- 30. परीक्षण निष्पादन रिपोर्ट
जबाब क्रिस के लिए धन्यवाद। यह पहली विफलता के बाद काम करता रहा और जारी रहा (यानी कलेक्टर.चेकटैट (10, कोरमैटर्स.क्वैल्टो (11)))। लेकिन समस्या यह है कि मैं चाहता हूं कि यह जांच विफल हो जाए, भले ही चेक में से कोई एक विफल हो। वर्तमान में उपर्युक्त परीक्षण निष्पादित करने के बाद, परीक्षण पास के रूप में चिह्नित किया गया है। मैं चाहता हूं कि यह असफल हो और विफलता रेखा पर स्टैकट्रैक दिखाएं (जब कोई दावा विफल रहता है)। – user85
यह अजीब बात है। मैंने बस अपने उत्तर में लिखे गए कोड की कोशिश की, और यह उम्मीद के अनुसार काम किया। परीक्षण विफल रहता है, और यह प्रत्येक असफल दावे के स्टैक ट्रेस को प्रिंट करता है। यहां पूर्ण परीक्षण कोड और आउटपुट जो मुझे मिला है, इंटेलिजे से परीक्षण चला रहा है: https://gist.github.com/2419626 –
ओह ... मेरा बुरा, मैं बस नियम जोड़ना भूल गया और इससे सभी अराजकता ..... इस भ्रम के लिए खेद है और पोस्ट के लिए बहुत कुछ है। – user85