2015-08-18 7 views
6

Ich habe vor kurzem festgestellt, dass @testable import scheint nicht für Watch Extension-Module zu arbeiten.@testable Import von Watch Extension-Modul in Swift Unit-Tests

Hier ist, was ich versucht habe, so weit:

  • Erstellen Sie ein neues Xcode-Projekt mit WatchKit App und sind Unit-Tests.
  • Öffnen Sie die automatisch erstellte Unit-Testdatei und fügen Sie @testable import ProjectName_WatchKit_Extension hinzu (nachdem Sie bestätigt haben, dass dies der korrekte Modulname in den Build-Einstellungen der Erweiterung ist). Dies ergibt einen Compilerfehler "kein solches Modul".
  • Vergewissern Sie sich, dass "Testbarkeit aktivieren" in den Erweiterungs-Build-Einstellungen auf "Ja" gesetzt ist.
  • ändern Name des Erweiterungsmodul zu entfernen Räume

Ich bin natürlich in der Lage, die benötigten Dateien auf das Testziel erfolgreich Testeinheit durch Zugabe, aber es fühlt sich an wie dies nicht notwendig sein sollte.

Hat jemand erfolgreich @testable import mit einer Watch Extension verwenden können? Ist das etwas, was ich sollte tun können? Jede Hilfe würde sehr geschätzt werden.

+0

Gibt es jetzt eine Lösung? – Ramya

Antwort

0

Aus Instagram Bibliothek IGInterfaceDataTable: 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. 

Dies ist eine gute Frage, sah ich ein ähnliches Problem gegen schnelle und Nimble Test-Framework eröffnet wurde, die für die Uhren Kit Verlängerung Prüfung über den Mangel an Unterstützung spricht. Schau mal: https://github.com/Quick/Quick/issues/273.

+0

Auch gefunden: https://openradar.appspot.com/21760513 –

Verwandte Themen