2017-07-23 2 views
0

Je crée un scénario de test qui teste si la fonction de délégué didDisconnectwithError peut être appelée pour la classe TVIroom. pour cela j'ai besoin de passer à la fonction de délégué un objet vide de pièce TVI. Cependant, la fonction déléguée n'accepte pas les valeurs nulles comme entrées et le déballage forcé n'est pas autorisé. Comment transmettre un objet TVIroom au délégué pour le test, s'il ne peut pas être nul? voici mon code jusqu'à présent:Création d'un objet tviRoom vide (non nul) pour le test de fonction de délégué

func testDisconnectCalled_usedWhileSwitching_AndwhileExplicitlyDisconnecting() { 
     let delegate = RoomTestsDelegate() 
     let room: TVIRoom? = nil 
     let error: Error? = nil 

     delegate.room(room, didDisconnectWithError: error) 
     expect(delegate.notifiedAboutDidDisconnect).toEventually(beTrue(), timeout: 1) 
    } 

Répondre

0

Si vous cochez la class reference de TVIRoom, il dit qu'il est recommandé pas être initialisé par les développeurs.

Vous pouvez cependant créer une classe simulée similaire à TVIRoom et définir le délégué de manière appropriée.

+0

Comment est-ce que je fais ça? un peu plus de perspicacité serait utile – CodeMaker