2015-11-09 1 views
1

Pourquoi ce test échoue-t-il?Test d'interface utilisateur UIPasteboard

Créez un nouveau projet iOS swift au XCode 7 appelé Exemple avec des tests d'interface utilisateur.

Exemple/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 
    } 
} 

Répondre

1

Vous ne pouvez pas accéder à tout type de code de UITest

UITest est un processus distinct qui utilise l'accès possibilité de simuler les actions de l'utilisateur sur simulateur/appareil. Vous pouvez donc simplement vérifier l'interface utilisateur et effectuer les actions disponibles sur l'interface utilisateur (touchez les boutons, etc.)

+0

Il n'a donc pas accès au presse-papiers global du simulateur? Les tests d'interface utilisateur ne fonctionnent pas dans le simulateur? –

+0

Disons qu'il fonctionne sur simulateur. Il suffit de simuler les actions de l'utilisateur, comme appuyer sur etc. il n'a pas accès au presse-papier global – Andrey