उपयोग यूनिट टेस्ट अपनी कक्षाओं में तरीकों की वैधता का परीक्षण करने के लिए। आप उनके द्वारा लिखे गए कोड का परीक्षण करने के लिए उनका उपयोग करते हैं। (Xcode में एक साधारण यूनिट टेस्ट की स्थापना के लिए my other example देखें।)
उपयोग यूआई टेस्ट उपयोगकर्ता इंटरफ़ेस की वैधता की जांच करने के लिए। इसके बारे में सोचें कि अपने स्वयं के रोबोट को पार करने और अपने ऐप के साथ सभी सामान्य इंटरैक्शन करने के बारे में सोचें जो एक सामान्य उपयोगकर्ता होगा। यह आपको स्वयं करने का समय बचाता है।
इस लेखन के समय, यूआई घटकों के कई गुणों तक पहुंचना मुश्किल है, लेकिन केवल उन्हें टैप करके परीक्षण करना और उन्हें स्वाइप करना यह पुष्टि करता है कि वे वहां हैं।
उदाहरण
यह सबसे सरल सेटअप और यूआई परीक्षण है कि मैं के बारे में सोच सकता है के बारे में है: एक बटन है कि जब दबाया एक लेबल के पाठ बदल जाता है।
सेट करें
- iOS के लिए Xcode में कोई नया प्रोजेक्ट बनाएं 7+ 9.0+। सुनिश्चित करें कि यूआई परीक्षण शामिल
- मेक
आप Xcode 7 से पहले बनाए गए एक परियोजना के लिए यूआई परीक्षण जोड़ रहे हैं चेक किया गया है, this answer देखते हैं।(फ़ाइल> नया> लक्ष्य> टेस्ट> कोको टच यूआई परीक्षण बंडल)
जोड़ें UILabel
और स्टोरीबोर्ड
एक @IBOutlet और बनाने के लिए एक UIButton
@ViewController
में IBAction और button
दबाए जाने पर label
टेक्स्ट परिवर्तन करें।
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
@IBAction func button(sender: AnyObject) {
label.text = "Hello"
}
}
परीक्षण
- ओपन YourProject UITests फ़ाइल मत करो।
testExample()
विधि में अपने curser रखो। , एप्लिकेशन में
- प्रेस लाल रिकॉर्ड बटन, (1) लेबल नल (2) बटन टैप करें, और उसके बाद (3) लेबल को फिर से टैप करें। (4) रिकॉर्डिंग को रोकने के लिए फिर से रिकॉर्ड बटन दबाएं। निम्नलिखित कोड स्वतः ही आपके सामने किया जाना चाहिए था:
func testExample() {
let app = XCUIApplication()
app.staticTexts["Label"].tap()
app.buttons["Button"].tap()
app.staticTexts["Hello"].tap()
}
एक XCTAssert
बनाने के लिए एक प्रारंभिक बिंदु के रूप में प्रयोग करें staticText
लाइनों। अब आप होना चाहिए:
func testExample() {
let app = XCUIApplication()
XCTAssert(app.staticTexts["Label"].exists)
app.buttons["Button"].tap()
XCTAssert(app.staticTexts["Hello"].exists)
}
प्रेस यूआई टेस्ट चलाने के लिए बाईं तरफ के हीरे। जब यह गुजरता है तो इसे हरा बदलना चाहिए।
- यह है कि! इससे पता चला कि
UIButton
और UILabel
मौजूद हैं और लेबल का टेक्स्ट बदल गया है। यदि आप इसे असफल देखना चाहते हैं (एक अच्छा विचार), तो आप कुछ और करने के लिए "हैलो" बदल सकते हैं।
इसके अलावा उत्तर के लिए अध्ययन
यह सुनिश्चित करना संभव है कि यह लेबल बदल गया? यदि यह एक बटन है जो "हैलो" में बदल जाता है तो परीक्षा भी पास हो जाएगी। एक विकल्प यह जांचना होगा कि लेबल और बटन मौजूद है, लेकिन यह सामान्य नहीं है। क्या होगा यदि हम लेबल को "हैलो" के बजाय खाली स्ट्रिंग में बदलना चाहते हैं? 'app.staticTexts [" "] मौजूद है 'लगभग हमेशा सच है। – Kalicz
हम "हैलो" जैसे हार्डकोड किए गए टेक्स्ट की बजाय तत्वों की पहचान करने के लिए एक्सेसिफ़ायर के लिए क्यों नहीं जा सकते हैं। यह हमेशा मदद करता है, भले ही पाठ भविष्य में बदल गया हो। – Sravan
मुझे यकीन है कि शायद बेहतर होगा। उपरोक्त उत्तर कुछ ऐसा था जो मैंने किया था क्योंकि मैं किसी भी अन्य सरल उदाहरणों की अनुपस्थिति में यूआई परीक्षण को समझने की कोशिश कर रहा था। इस प्रश्न का एक और जवाब जोड़ने के लिए स्वतंत्र महसूस करें जो मेरे उत्तर में सुधार करता है। – Suragch