UItesting用例不显示代码覆盖率

我有一些使用XCTestCase类写的testing,我想计算代码覆盖率。 对于常规testing,它在我的机器人中很好地显示,但对于UItesting总是0%。

最简单的testing:

 import XCTest class FAQUITests: XCTestCase { let app = XCUIApplication() override func setUp() { super.setUp() app.launch() } func openFaqView() { app.navigationBars["NavigationBar"].buttons["FAQ"].tap() } func testFaq() { openFaqView() app.tables.cells.elementBoundByIndex(0).tap() } } 

这肯定应该显示一些testing覆盖,但事实并非如此。 我在我的bot代码覆盖范围内启用:

在这里输入图像说明

结果:

在这里输入图像说明

仍然是0%。

Xcode 7.2(7C68)

编辑:示例项目: https://Kettu@bitbucket.org/Kettu/so_34718699.git

检查testingscheme中的“聚集覆盖数据”是否有效。

检查收集覆盖率数据

如果您只有UItesting目标,就会发生这种情况。 添加一个unit testing目标。 然后再次运行testing。 这一次你会看到代码覆盖。 示例目标

在这里输入图像说明

没有unit testing代码,UITestcase不提供覆盖数据。 你可以试试这个。 在ViewController中有一个button,附加一个IBAction。 并创build它的UITestcase。 使用和不使用UITestcases检查代码覆盖率。 你会看到不同之处。 差异会给你的代码覆盖UITestcase。 截至目前,Xcode不提供,单独编码覆盖数据。 这取决于unit testing用例。

testing覆盖没有UI TestCase 与UI测试

—用你的代码我已经注释掉了你的

func testStepper(){

  let steppersQuery = app.steppers steppersQuery.buttons["Increment"].tap() steppersQuery.buttons["Decrement"].tap() } func testSegmented() { app.buttons["Second"].tap() app.buttons["Fourth"].tap() app.buttons["Third"].tap() app.buttons["First"].tap() } 

从TestDemoUITests和结果是这个 没有UITesting代码

和你的UITestcase一样,如下所示 与UITestcase

现在,UITestcase增加了unit testing用例的代码覆盖率。