UPDATE Swift 2.x, 3.x, 4.x ve 5.x
Şimdi public
test etmek için yöntemlere eklemenize gerek yok . Swift'in daha yeni sürümlerinde yalnızca @testable
anahtar kelimeyi eklemek gerekir .
PrimeNumberModelTests.swift
import XCTest
@testable import MyProject
class PrimeNumberModelTests: XCTestCase {
let testObject = PrimeNumberModel()
}
Ve dahili yöntemleriniz Internal
PrimeNumberModel.swift
import Foundation
class PrimeNumberModel {
init() {
}
}
Not private
(ve fileprivate
) sembolleri bile kullanarak mevcut değildir @testable
.
Swift 1.x
Swift'ten burada ilgili iki kavram var (Xcode 6 beta 6 olarak).
- Swift sınıflarını içe aktarmanıza gerek yoktur, ancak harici modülleri (hedefleri) içe aktarmanız gerekir
- Swift'teki Varsayılan Erişim Denetimi düzeyi:
Internal access
Üzerinde testler başka hedefte olduklarını düşünürsek PrimeNumberModelTests.swift
Gerekirse import
senin eğer, testin istediğiniz sınıfını içeren hedefin hedef denir MyProject
eklemeniz gerekir import MyProject
için PrimeNumberModelTests
:
PrimeNumberModelTests.swift
import XCTest
import MyProject
class PrimeNumberModelTests: XCTestCase {
let testObject = PrimeNumberModel()
}
Ancak bu, sınıfınızı test etmek için yeterli değildir PrimeNumberModel
, çünkü varsayılan Erişim Kontrolü düzeyiInternal Access
sınıfınız test paketi tarafından görülmeyecektir, bu nedenle onu Public Access
ve test etmek istediğiniz tüm yöntemleri yapmanız gerekir :
PrimeNumberModel.swift
import Foundation
public class PrimeNumberModel {
public init() {
}
}