2015-07-30 2 views
0

Из файла XCTest я вызываю вызов веб-службы и поставил блок ожидания с использованием API «self.waitForExpectationsWithTimeout» и получить ответ службы.XCTest: Передача параметра функции

У меня есть несколько методов тестирования, которые должны выполняться с этим ответом службы. Когда я храню этот ответ в глобальной переменной и получаю доступ к нему из другой тестовой функции, эта переменная будет равна нулю. Что нужно сделать здесь? Могу ли я передать его как параметр функции?

let serviceResp :NSDictionary! 

func test_One() { 
     //let expectation: XCTestExpectation = self.expectationWithDescription("HTTP") 

     datamanager.fetchData() //Web service 

     self.waitForExpectationsWithTimeout(5, handler: { (error: NSError!) -> Void in 

//In 5 seconds, I will get response from service and will be stored in datamanager.response. 

    self.serviceResp = datamanager.response 
     }) 
    } 


    func test_Two() { 
     //self.serviceResp is coming as nil even after assigning a value to it. 
    } 

Благодаря

+0

Давайте посмотрим код! :) –

+0

Добавлен код высокого уровня. – Coder

+0

Вы получаете ответ за пять секунд, но другая тестовая функция работает задолго до этого! – matt

ответ

1

Вы не можете передавать информацию между методами XCTest таким образом. См. Следующее: Testing with Xcode Docs (Акцент)

Для каждого класса тестирование начинается с запуска метода установки класса. Для для каждого метода тестирования назначается новый экземпляр класса и его метод установки экземпляра . После этого он запускает метод тестирования, и после этого метод удаления экземпляра. Эта последовательность повторяет для все методы испытаний в классе. После последнего теста метод teardown в классе был запущен, Xcode выполняет метод teardown класса и переходит к следующему классу. Эта последовательность повторяется до тех пор, пока не будут выполнены все методы тестирования во всех тестовых классах.

Если есть информация о том, что все ваши тесты необходимо запустить, подумайте о том, чтобы поместить его в метод настройки.

Смежные вопросы