如何合并gcovr生成的.gcda文件?

时间:2016-11-10 10:15:58

标签: ios code-coverage appium lcov gcovr


   在请求解决方案之前,让我先解释一下这个问题。我们为iOS应用程序提供Appium自动化测试。我们相信每个测试都应该从一个干净的平板(即应用程序安装)开始,而不是依赖于先前的测试将应用程序带到当前测试所感兴趣的屏幕上。我希望这种方法是正确的。我们尝试使用提到的here方法生成.gcda文件。但干净状态方法似乎为每个测试创建多个.gcda文件。如何以比提到的方法here更简单的方式合并它(看起来像多个步骤 - 如果有太多.gcda文件,我们将需要多个步骤)。我们希望通过Appium进行此覆盖,直到我们为遗留代码添加单元测试,因此我们不认为需要将这种复杂的方法通过Appium集成到CI中,因此每次我们需要覆盖时都要手动执行,意味着将所有.gcda转换为LCOV文件,这可能非常耗时。因此这个问题。

谢谢,

稻谷

1 个答案:

答案 0 :(得分:0)

您只需在测试前添加完全重置应用程序的功能。它既适用于真实设备,也适用于模拟器。

capabilities.setCapability("fullReset", true)
capabilities.setCapability("noReset", false)

如果您需要重新加载应用程序而不清除某些缓存,那么我建议使用以下功能:

capabilities.setCapability("fullReset", false)
capabilities.setCapability("noReset", true)

并且对于应用程序重新加载使用此功能(仅限iOS):

static reloadApplication() {           
        mobileDriver.closeApp()
        mobileDriver.launchApp()            
}