2015-11-09 3 views
1

Почему этот тест не прошел?UI-тестирование UIPboardboard

Создайте новый быстрый проект iOS в XCode 7, который называется Example с тестами UI.

Пример/ViewController.swift:

import UIKit 
class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     UIPasteboard.generalPasteboard().string = "test" 
    } 
} 

ExampleUITests/ExampleUITests.swift:

import XCTest 

class ExampleUITests: XCTestCase { 

    override func setUp() { 
     super.setUp() 
     continueAfterFailure = false 
     XCUIApplication().launch() 
    } 

    override func tearDown() { 
     super.tearDown() 
    } 

    func testExample() { 
     XCTAssertNotNil(UIPasteboard.generalPasteboard().string) //this fails 
    } 
} 

ответ

1

Вы не можете получить доступ к любому виду кода из UITest

UITest - это отдельный процесс, который использует acces чтобы имитировать действия пользователя на тренажере/устройстве. Таким образом, вы просто можете проверить пользовательский интерфейс и сделать действия, доступные в пользовательском интерфейсе (кнопки нажатия и т. Д.)

+0

Таким образом, у него нет доступа к глобальному буферу обмена симулятора? Тесты UI не запускаются в симуляторе? –

+0

Предположим, что он работает над симулятором. Просто имитируйте действия пользователя, такие как tap и т. Д., У него нет доступа к глобальному буферу – Andrey