2014-12-30 2 views
1

Я пытаюсь написать тесты для проекта, над которым я работал, и я не могу понять, как проверить некоторые из моих методов. Таким образом, некоторые из методов изменяют частное свойство (массив) путем добавления или удаления элементов массива. Как я могу проверить эти случаи?Метод тестирования, который изменяет частный массив с Swift и XCTest

Спасибо!

ответ

0

Как насчет открытия личных свойств и метод в качестве расширения и использование только что для тестирования. Удалите расширение (прокомментируйте это), когда не тестируете.

Здесь я помещаю 'T' перед частным методом или именем свойства в расширении.

Например:

class MyClass { 
    private var privateString: String? 

    private func privateSetName(name: String) { 

    privateString = name 
    } 

extension MyClass { // for testing only 

    var TprivateString: String? { 
    get { 
     return self.privateString 
    } 
    } 

    func TprivateSetName(name: String) { 
    privateSetName(name) 
    } 
} 

то в вашем XCTest вы можете сделать:

func testThatNameIsSet() { 

    let myClass = MyClass() 

    myClass.TprivateSetName("myName") 

    XCTAsserNotNil(myClass.TprivateString, "Name should be set.") 
} 
Смежные вопросы