2016-09-22 8 views
2

enter image description here Ich schreibe ein Framework mit Swift3 in Xcode 8 (Datei> Neu> Projekt> Cocoa Touch Framework). Ich habe das Testschema bearbeitet, um Coverage-Daten zu sammeln, aber wenn ich die Coverage-Registerkarte im Report-Navigator betrachte, sind alle Coverage-Balken leer! Wenn ich die 'Show Test Bundles' Option ankreuze, sehe ich die Tests, aber sie sind nicht im Framework!Xcode 8 Code Coverage

Hat jemand anderes dieses Problem und gibt es eine Lösung?

+1

Wow! Dank deiner Frage weiß ich jetzt, dass ich etwas mit 'Show Test Bundles' sehen kann. Ich dachte, es wäre alles null! – GabrielOshiro

+0

Ich habe ein ähnliches Problem mit meinem App-Paket. App-Bündelabdeckung zeigt 0%, wobei Testpaket 100% anzeigt. Ähnlich wie das Bild des ursprünglichen Posters. Ich kann nicht herausfinden, warum so ein Bericht. – Surpher

Antwort

3

Es stellt sich heraus, dass die App-Bundle-Code-Abdeckung 0% ist, bis tatsächlich in der Implementierung verwendet wird. Wenn Sie striktes TDD ausführen und die Codeabdeckung überprüfen, bevor Sie die Klasse/struct/model/verwenden, wird an dem, woran Sie gerade arbeiten, diese nicht im Bericht angezeigt.

Ein bisschen macht Sinn. Es ist Xcode's Art zu sagen:
"Hey Kumpel, Sie haben diesen Code hier, aber es ist nicht wirklich in Ihrem App-Bundle aufgerufen."

0

Dies geschieht manchmal und scheint mit Xcode.Do ein Problem, das folgende

  1. Xcode beenden und neu starten wieder.
  2. Erstellen Sie das Framework für dasselbe Gerät oder Simulator. (Erstellen Sie hier den Lister.frameowrk)
  3. Führen Sie die Testskripts aus, und überprüfen Sie die Codeabdeckung erneut.

Das funktionierte für mich.