खोज…


टिप्पणियों

निर्भरताएँ :

  • यदि एप्लिकेशन थर्ड पार्टी लाइब्रेरी या कोको पॉड्स का उपयोग करता है, तो उन पुस्तकालयों या पॉड्स को परीक्षण के लिए भी स्थापित करने की आवश्यकता होती है।
  • टेस्ट क्लास (टेस्ट सूट) XCTestCase का विस्तार करता है।

शुरू करने से पहले ब्रश करें:

  • सभी परीक्षा वर्गों में सामान्य सेटअप और टियरडाउन में दो विधियां हैं।

  • सेटअप हर टेस्टकेस से पहले चलता है और हर टेस्टकेस के बाद आंसू बहता है।

  • टेस्ट केस वर्णानुक्रम में चलते हैं।

  • टेस्ट ड्रिवेन डेवलपमेंट में, पहले डमी टेस्ट डेटा बनाना अच्छा है।

  • टेस्ट केस के तरीके "टेस्ट" कीवर्ड से शुरू होते हैं।

  • परीक्षण के तरीके कोई पैरामीटर स्वीकार नहीं करते हैं और कोई मूल्य नहीं लौटाते हैं।

अनुबंध:

किसी ऑपरेशन से अपेक्षित परिणाम और वास्तविक परिणाम की तुलना करने के लिए कई अन्य तरीके हैं। उन तरीकों में से कुछ नीचे सूचीबद्ध हैं:

  • XCTAssertNil (अभिव्यक्ति, टिप्पणी) यदि अभिव्यक्ति में विफलता उत्पन्न करता है! = Nil।
  • XCTAssertNotNil (अभिव्यक्ति, टिप्पणी) यदि अभिव्यक्ति = शून्य है तो विफलता उत्पन्न करती है।
  • XCTAssert (अभिव्यक्ति, टिप्पणी) यदि अभिव्यक्ति == असत्य है तो विफलता उत्पन्न करती है।
  • XCTAssertTrue (अभिव्यक्ति, टिप्पणी) यदि अभिव्यक्ति == असत्य है तो एक विफलता उत्पन्न करती है।
  • XCTAssertFalse (अभिव्यक्ति, टिप्पणी) अगर अभिव्यक्ति में विफलता उत्पन्न करता है! = असत्य।
  • XCTAssertEqualObjects (अभिव्यक्ति 1, अभिव्यक्ति 2, टिप्पणी) एक विफलता उत्पन्न करता है अगर अभिव्यक्ति 1 अभिव्यक्ति 2 के बराबर नहीं है।
  • XCTAssertEqualObjects (अभिव्यक्ति 1, अभिव्यक्ति 2, टिप्पणी) अभिव्यक्ति 1 के बराबर अभिव्यक्ति 1 होने पर विफलता उत्पन्न करती है।
  • XCTAssertNotEqual (अभिव्यक्ति 1, अभिव्यक्ति 2, टिप्पणी) यदि अभिव्यक्ति 1 == अभिव्यक्ति 2 है तो एक विफलता उत्पन्न करती है।
  • XCTAssertEqual (अभिव्यक्ति 1, अभिव्यक्ति 2, टिप्पणी) अगर अभिव्यक्ति 1! = अभिव्यक्ति 2 है तो एक विफलता उत्पन्न करती है।
  • XCTAssertGraitThanOrEqual (अभिव्यक्ति 1, अभिव्यक्ति 2, टिप्पणी) एक विफलता उत्पन्न करता है जब (अभिव्यक्ति 1 <अभिव्यक्ति 2)।

कोड या किसी विधि का एक ब्लॉक परीक्षण:

  • कक्षा आयात करें, जिसमें परीक्षण की जाने वाली विधि शामिल है।
  • डमी डेटा के साथ ऑपरेशन करें।
  • अब अपेक्षित परिणाम के साथ ऑपरेशन के परिणाम की तुलना करें।
- (void)testReverseString{
NSString *originalString = @"hi_my_name_is_siddharth";
NSString *reversedString = [self.someObject reverseString:originalString];
NSString *expectedReversedString = @"htrahddis_si_eman_ym_ih";
XCTAssertEqualObjects(expectedReversedString, reversedString, @"The reversed string did not match the expected reverse");
}

यदि आवश्यक हो तो परीक्षण के तहत विधि में डमी डेटा फ़ीड करें और फिर अपेक्षित और वास्तविक परिणामों की तुलना करें।

कोड के अतुल्यकालिक ब्लॉक का परीक्षण:

- (void)testDoSomethingThatTakesSomeTime{
XCTestExpectation *completionExpectation = [self expectationWithDescription:@"Long method"];
[self.someObject doSomethingThatTakesSomeTimesWithCompletionBlock:^(NSString *result) {
    XCTAssertEqualObjects(@"result", result, @"Result was not correct!");
    [completionExpectation fulfill];
}];
[self waitForExpectationsWithTimeout:5.0 handler:nil];
}
  • यदि आवश्यक हो तो परीक्षण के तहत विधि को डमी डेटा फ़ीड करें।
  • परीक्षण यहां रुक जाएगा, रन लूप चला रहा है, जब तक कि टाइमआउट हिट नहीं हो जाता है या सभी अपेक्षाएं पूरी नहीं हो जाती हैं।
  • प्रतिक्रिया के लिए एसिंक्रोनस ब्लॉक के लिए टाइमआउट अपेक्षित समय है।

कोड के एक ब्लॉक के प्रदर्शन को मापने:

1. तुल्यकालिक तरीकों के लिए:

- (void)testPerformanceReverseString {
    NSString *originalString = @"hi_my_name_is_siddharth";
    [self measureBlock:^{
        [self.someObject reverseString:originalString];
    }];
}

2. अतुल्यकालिक तरीकों के लिए:

- (void)testPerformanceOfAsynchronousBlock {
   [self measureMetrics:@[XCTPerformanceMetric_WallClockTime] automaticallyStartMeasuring:YES forBlock:^{
    
    XCTestExpectation *expectation = [self expectationWithDescription:@"performanceTestWithResponse"];
    
    [self.someObject doSomethingThatTakesSomeTimesWithCompletionBlock:^(NSString *result) {
        [expectation fulfill];
    }];
    [self waitForExpectationsWithTimeout:5.0 handler:^(NSError *error) {
    }];
}];
}
  • इन प्रदर्शन माप ब्लॉक को लगातार 10 बार निष्पादित किया जाता है और फिर औसत की गणना की जाती है, और इस औसत प्रदर्शन के आधार पर परिणाम तैयार होता है और आगे के मूल्यांकन के लिए आधार रेखा स्वीकार की जाती है।
  • प्रदर्शन परिणाम की तुलना पिछले परीक्षण परिणामों और बेसलाइन के साथ अनुकूलन योग्य अधिकतम मानक विचलन के साथ की जाती है।

रनिंग टेस्ट सूट:

उत्पाद> परीक्षण का चयन करके सभी परीक्षण चलाएं। परीक्षणों की स्थिति और परिणाम देखने के लिए टेस्ट नेविगेटर आइकन पर क्लिक करें। आप परीक्षण नाविक के निचले-बाएँ कोने में जोड़ें (प्लस) बटन पर क्लिक करके किसी प्रोजेक्ट के लिए एक परीक्षण लक्ष्य जोड़ सकते हैं (या परीक्षण में एक वर्ग जोड़ सकते हैं)। किसी विशेष परीक्षण के लिए स्रोत कोड देखने के लिए, उसे परीक्षण सूची से चुनें। स्रोत कोड संपादक में फ़ाइल खुलती है।

ध्यान दें:

सुनिश्चित करें कि एक नया प्रोजेक्ट बनाते समय यूनिट टेस्ट केस बॉक्स शामिल है, जो नीचे दिखाया गया है: यहाँ छवि विवरण दर्ज करें



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