2015-08-18 12 views
6

Ho notato recentemente che @testable import non sembra funzionare per i moduli di estensione di orologio.@testable import del modulo Watch Extension nei test delle unità Swift

Ecco quello che ho provato finora:

  • Creare un nuovo progetto Xcode con WatchKit app e includono unit test.
  • Aprire il file di test dell'unità creato automaticamente e aggiungere @testable import ProjectName_WatchKit_Extension (dopo aver verificato che questo è il nome del modulo corretto nelle impostazioni di generazione dell'estensione). Questo dà un errore del compilatore "nessun modulo di questo tipo".
  • Verificare che "Abilita testabilità" sia impostato su sì nelle impostazioni di estensione delle build.
  • Cambiare il nome del modulo di estensione per rimuovere gli spazi

Io sono naturalmente in grado di successo unit test aggiungendo i file necessari per l'obiettivo di prova, ma ci si sente come questo non dovrebbe essere necessario.

Qualcuno è riuscito a utilizzare correttamente @testable import con un'estensione di controllo? È questo qualcosa I dovrebbe essere in grado di fare? Qualsiasi aiuto sarebbe molto apprezzato.

+0

C'è qualche soluzione a questo ora? – Ramya

risposta

0

Da una libreria IGInterfaceDataTable Instagram: https://github.com/facebookarchive/IGInterfaceDataTable/tree/e5565a96c5a71ef7b849920adc34f880cc37dc03#testing

Since WKInterfaceTable objects must be initialized from storyboards, and 
there is no mechanism yet to create a WatchKit storyboard in code, we cannot use 
Xcode unit tests yet. 

For now, tests are run manually by executing the ApplicationTests WatchKit 
extension and ensuring that none of the asserts are fired. 

Questa è una buona domanda, ho visto un problema simile è stato aperto contro rapida e framework di test Nimble, che parla della mancanza di supporto per guardare il test kit di estensione. Date un'occhiata: https://github.com/Quick/Quick/issues/273.

+0

trovato anche questo: https://openradar.appspot.com/21760513 –

Problemi correlati