Используйте модульные тесты для проверки правильности методов в ваших классах. Вы используете их для проверки кода, который вы написали. (См. другой мой пример для настройки простого модульного теста в Xcode.)
Используйте тесты пользовательского интерфейса, чтобы проверить правильность пользовательского интерфейса. Подумайте об этом, как если бы у вас был собственный робот, который мог бы выполнять все обычные взаимодействия с вашим приложением, как это сделал бы обычный пользователь. Это экономит ваше время, когда вы делаете это самостоятельно.
На момент написания этой статьи было трудно получить доступ ко многим свойствам компонентов пользовательского интерфейса, но просто проведя тест, нажав на них и проведя пальцем по ним, можно убедиться, что они есть.
Пример
Это самая простая настройка и тест пользовательского интерфейса, которые я мог придумать: кнопка, которая при нажатии меняет текст метки.
Настраивать
- Создайте новый проект в Xcode 7+ для iOS 9.0+.
- Убедитесь, что установлен флажок Включить тесты пользовательского интерфейса.
![введите описание изображения здесь](https://i.stack.imgur.com/ey2rN.png)
Если вы добавляете тесты пользовательского интерфейса в проект, созданный до Xcode 7, см. этот ответ. («Файл» > «Создать» > «Цель» > «Тест» > «Пакет тестирования пользовательского интерфейса Cocoa Touch»)
Добавьте UILabel
и UIButton
в раскадровку
![введите описание изображения здесь](https://i.stack.imgur.com/htpIj.png)
Создайте @IBOutlet и @IBAction в ViewController
и измените текст label
при нажатии button
.
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
@IBAction func button(sender: AnyObject) {
label.text = "Hello"
}
}
Пройди тест
- Откройте файл YourProjectUITests.
![введите описание изображения здесь](https://i.stack.imgur.com/1cVwT.png)
- Поместите курсор в метод
testExample()
. (Вы можете удалить комментарии)
![введите описание изображения здесь](https://i.stack.imgur.com/GY3ji.png)
- Нажмите красную кнопку записи
![введите описание изображения здесь](https://i.stack.imgur.com/581ng.png)
В приложении (1) коснитесь ярлыка, (2) коснитесь кнопки, а затем (3) снова коснитесь ярлыка. (4) Нажмите кнопку записи еще раз, чтобы остановить запись. Следующий код должен быть автоматически сгенерирован для вас:
func testExample() {
let app = XCUIApplication()
app.staticTexts["Label"].tap()
app.buttons["Button"].tap()
app.staticTexts["Hello"].tap()
}
Используйте линии staticText
в качестве отправной точки для создания XCTAssert
. Теперь у вас должно быть:
func testExample() {
let app = XCUIApplication()
XCTAssert(app.staticTexts["Label"].exists)
app.buttons["Button"].tap()
XCTAssert(app.staticTexts["Hello"].exists)
}
Нажмите на ромб слева, чтобы запустить тест пользовательского интерфейса. Он должен стать зеленым, когда он пройдет.
![введите описание изображения здесь](https://i.stack.imgur.com/8ipST.png)
- Вот и все! Это показало, что
UIButton
и UILabel
существуют и что текст метки изменился. Если вы хотите, чтобы он потерпел неудачу (хорошая идея), вы можете изменить «Hello» на что-то другое.
Дальнейшее обучение
person
Suragch
schedule
24.07.2015