अद्यतन स्विफ्ट 2.x, 3.x, 4.x और 5.x
अब आपको public
परीक्षण करने के तरीकों को जोड़ने की आवश्यकता नहीं है । स्विफ्ट के नए संस्करणों पर केवल @testable
कीवर्ड जोड़ना आवश्यक है ।
PrimeNumberModelTests.swift
import XCTest
@testable import MyProject
class PrimeNumberModelTests: XCTestCase {
let testObject = PrimeNumberModel()
}
और आपके आंतरिक तरीके रख सकते हैं Internal
PrimeNumberModel.swift
import Foundation
class PrimeNumberModel {
init() {
}
}
ध्यान दें कि private
(और fileprivate
) प्रतीक उपयोग करने के साथ भी उपलब्ध नहीं हैं @testable
।
स्विफ्ट 1.x
यहां स्विफ्ट से दो प्रासंगिक अवधारणाएं हैं (एक्सकोड 6 बीटा 6 के रूप में)।
- आपको स्विफ्ट कक्षाएं आयात करने की आवश्यकता नहीं है, लेकिन आपको बाहरी मॉड्यूल (लक्ष्य) आयात करने की आवश्यकता है
- स्विफ्ट में डिफ़ॉल्ट एक्सेस कंट्रोल स्तर है
Internal access
ध्यान में रखते हुए पर कि परीक्षण एक और लक्ष्य पर हैं PrimeNumberModelTests.swift
आप की जरूरत है import
लक्ष्य उस वर्ग होता है, जो, परीक्षण करना चाहते हैं तो अपने लक्ष्य कहा जाता है MyProject
जोड़ने की आवश्यकता होगी import MyProject
करने के लिए PrimeNumberModelTests
:
PrimeNumberModelTests.swift
import XCTest
import MyProject
class PrimeNumberModelTests: XCTestCase {
let testObject = PrimeNumberModel()
}
लेकिन यह आपकी कक्षा का परीक्षण करने के लिए पर्याप्त नहीं है PrimeNumberModel
, क्योंकि डिफ़ॉल्ट एक्सेस कंट्रोल स्तर है Internal Access
, आपकी कक्षा टेस्ट बंडल को दिखाई नहीं देगी, इसलिए आपको इसे Public Access
और उन सभी तरीकों को बनाने की आवश्यकता है जिन्हें आप परीक्षण करना चाहते हैं:
PrimeNumberModel.swift
import Foundation
public class PrimeNumberModel {
public init() {
}
}