user3886079
user3886079

Reputation: 251

Is code coverage already working for Swift?

I am trying to setup test code coverage for a Swift application on Xcode 6 Beta 4.
I was able to do so in the past using ObjectiveC with Xcode 5, however I think I had to call the void __gcov_flush() method, to trigger generation of the .gcda/.gcno files.
I set both properties for instrumentation and code coverage to YES for the app and test targets.
However after running the tests, when I look in:
DerivedData/some subfolders/i386 all I see are files of type:
.d,.dia,.o,.swiftmodule and so on, but nothing that indicates code coverage.

Therefore I have two questions:

  1. Is code coverage expected to work for Swift using Xcode6 beta 4?
  2. If yes and it is necessary to flush gcov first, how do I do that from Swift?

Thanks

Upvotes: 22

Views: 2682

Answers (3)

mistercake
mistercake

Reputation: 723

Code coverage for Swift is available in Xcode 7. You can turn it on in the test settings for your scheme, by ticking the checkbox labeled "Gather coverage data."

Note that Apple has introduced a new format for the coverage data, profdata files.

Links:

Upvotes: 2

Quanlong
Quanlong

Reputation: 25476

It does not fixed in Xcode 6.3, see http://openradar.appspot.com/radar?id=6457429508227072

Upvotes: 0

user3886079
user3886079

Reputation: 251

Xcode 6 Beta 4 does not have code coverage for Swift working. There is an open Apple issue with id: 17450338 against it.

Upvotes: 3

Related Questions