问题标签 [coverstory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
368 浏览

iphone - 是否可以在 XCode 中进行调试后构建步骤/触发器?

我想在测试运行时自动在 XCode 中对我们的 iPhone 应用程序的单元测试运行一些代码覆盖率分析(使用 CoverStory)。问题是我们使用的是 Google Toolbox for Mac,而测试似乎运行的方式实际上并没有从 gcov 生成代码覆盖率报告,所以我得到的分析已经过时,除非我手动重新生成覆盖率 html经过构建并开始。我想知道是否有任何晦涩的方法来触发可以为我执行此操作的调试后步骤,因此我不必手动重新运行 CoverStory。是否可以?

编辑:澄清一下,如果可能的话,我希望在程序运行完成后运行构建步骤,而不是在我开始调试之前运行。

0 投票
2 回答
784 浏览

iphone - 尝试将 CoverStory 与 iPhone 应用程序一起使用时未定义的符号:_vproc_transaction_end、_vproc_transaction_begin

按照这些步骤使用 CoverStory 设置 iphone 项目后,我的构建失败并出现两个链接器错误。

我在 Snow Leopard 上使用 Xcode 3.2、GCC 4.2。有什么我想念的想法吗?

0 投票
2 回答
2865 浏览

iphone - 如何在 iPhone 上为 gcov 设置环境变量

我已经克服了在我的 iPhone 项目上设置的所有问题,gcov但现在我得到了以下信息:

有人对我可能做错了什么有任何建议吗?

我最初按照 Google 的说明设置 gcov,可以通过谷歌搜索“UsingCoverStory”找到

更新:好的,让我澄清一下我想要做什么。我有一个我试图自动测试的 iPhone 应用程序。我正在使用UISpec框架来驱动 GUI。我真正要知道的是我的测试实际上覆盖了多少代码。我认为我真的很接近,但我只需要了解如何正确设置环境/编译器变量以适合我的项目。

这是我迄今为止所做的总结。我首先复制了我的构建目标,指定了链接器标志和规定的其他几个选项。(这可以使用 Google 创建的 AppleScript 自动完成。说明和下载可以通过谷歌搜索“UsingCoverStory”找到)无论如何,我已经验证这些设置分配正确。我将我的配置设置为调试,我在 3.1.3 设备上运行它。当我运行应用程序时,它不会在调试器中显示任何特殊内容,直到我退出应用程序。那时我收到一个错误:

我认为这GCOV是试图写出.gcda文件,但我不太确定如何告诉它应该写在哪里。我读到某处GCOV试图重现.gcno文件存储在我的项目文件夹中的目录结构,这很有意义,因为上面的目录是.gcno文件在我的机器上的位置。然而,这是一个问题,因为 iPhone 上不存在该结构,设备也无法创建该结构。

我发现另一个人有同样的问题,他们说他们必须设置一个环境变量。如何在 iPhone SDK 中设置 gcov 进行代码覆盖率分析?

GCOV文档说明了以下内容:

例如,如果目标文件/user/build/foo.o 是用 构建的 ,最终的可执行文件将在目标系统上运行时-fprofile-arcs尝试创建数据文件。/user/build/foo.gcda如果相应的目录不存在并且无法创建它,这将失败。这可以通过例如将环境设置为“GCOV_PREFIX=/target/run”和“GCOV_PREFIX_STRIP=1”来克服。这样的设置将命名数据文件/target/run/build/foo.gcda

我的问题是,如何在 iPhone 上设置这些环境变量?我应该在构建配置中还是在实际代码中执行此操作?

0 投票
0 回答
160 浏览

xcode - CoverStory 如何支持 XCODE 4.0.1,使用 LLVM 作为编译器?

XCode 4.0.1 (LLVM 2.0) + CoverStory(google提供的代码覆盖工具)如何生成代码覆盖数据?

以下 WIKI 解释了 CoverStory 如何与 XCODE 3.2 和 4.2 一起工作,我想知道如何使用 LLVM 作为编译器与 XCODE 4.0.1 集成?遵循 XCODE 4.2 配置说明时不会生成 *.gcno、*.gcna 文件。

http://code.google.com/p/coverstory/wiki/UsingCoverstory

任何想法或讨论将不胜感激。提前致谢。

0 投票
1 回答
801 浏览

xcode - 使用 XCode 4 生成代码覆盖率数据需要什么

我一直在尝试使用http://code.google.com/p/coverstory/wiki/UsingCoverstory中概述的步骤在 XCode 4.2.1(构建 4D502)上为我的应用程序生成代码覆盖率数据

我显然遗漏了一些东西,因为我的目标文件旁边没有生成 .gcno 或 .gcda 文件。我尝试将设置添加到我的测试目标和应用程序目标,但无济于事。我已经有第二双眼睛检查了事情,一切似乎都井井有条。关于缺少什么的任何想法。提前致谢。

0 投票
2 回答
2110 浏览

xcode - OSX Lion 上未生成代码覆盖率文件

我正在尝试获取单元测试的代码覆盖率(Mac OS X Lion 10.7 (11A2061) 上的 Xcode 4.2.1 (4D502)),但不知何故 .gcda 文件没有被创建。我可以在单元测试目标的 .../Objects-normal/i386 文件夹中看到 .d 和 .o 文件,但是正在单元测试的文件缺少 gcno/gcda 文件,因此我无法生成覆盖率正在测试的内容的统计信息。

在主要目标上,我确实看到了每个文件的 .d、.o 和 .gcno 文件。

所以,我相信我已经正确设置了项目设置,但是 OS X Lion 确实缺少一个“小”的东西。我已经尝试了http://code.google.com/p/coverstory/wiki/UsingCoverstory中提到的步骤,但似乎并没有解决我的问题。

注意:我能够让它在 Snow Leopard 上工作并使用 CoverStory 查看覆盖率统计!

这方面的任何解决方案/方向都会非常有帮助。谢谢!!

0 投票
0 回答
292 浏览

objective-c - 为什么抛出异常的范围没有显示为 gcov/CoverStory 中的内容?

我正在使用 Xcode 4.6 中的覆盖工具并使用 CoverStory 进行可视化。无论我做什么,CoverStory 都不会显示我抛出 Objective-C 异常的范围,即使在这些行上运行带有断点的单元测试时,我遇到了断点,并且测试(预计会抛出)全部通过。

是否需要设置一些设置才能使覆盖工具看到这一点?

编辑:我在这里找到了 CoverStory 的排除标志对我来说仍然很奇怪,它没有看到这条线被执行。这是为什么?

0 投票
1 回答
380 浏览

ios - 即使在生成 .gcda 和 .gcno 文件后,也没有在 xcode 4.6 中使用coverstory 处理代码覆盖率

我试图使用封面故事在 xcode 4.6 中运行代码覆盖率。我在项目的构建设置中遵循了这些步骤:

1.将“生成测试覆盖文件”设置为“是”

2.将“仪器程序流程”设置为“是”。

3.构建和运行单元测试

将这些标志设置为 yes 后,我能够在“i386”文件夹中生成 .gcda 和 .gcno 文件。

但是,在尝试使用封面故事打开此文件夹时,文件被读取但未处理。它显示一条消息“xargs:(null):没有这样的文件或目录”,还显示“无法处理文件:”。我还尝试使用 gcovr 和 Icov 进行覆盖,但没有成功。

我关注了这些链接http://qualitycoding.org/xcode-code-coverage/http://www.infinite-loop.dk/blog/2012/06/unit-testing-load-of-image-resources/

谁能帮我解决这个问题?

0 投票
1 回答
788 浏览

ios - 在检查代码覆盖率时排除封面故事中的文件

我只是尝试使用 Xcode 4.6 中的封面故事检查代码覆盖率,我能够生成 .gcda 和 .gcno 文件并检查每个文件的整体和单个覆盖率。

但是,我想在检查代码覆盖率时排除封面故事中的一些类。我不能这样做,因为它再次涵盖了所有课程。我试图从以下位置排除文件:

CoverStory->Preferences->SDK Files ........并包含我要排除的文件。但它不起作用。

我点击了这个链接:http: //iosunittesting.com/configuring-coverstory/

谁能帮帮我。

0 投票
2 回答
496 浏览

ios - iOS 代码覆盖率:@implementation 未命中?

我最近在我们的代码库中添加了测试覆盖率分析,幸运的是,我期望得到很好覆盖的类的覆盖率超过了 95%。我喜欢那些达到 100% 的课程,因为这显然是目标,但是我的一些课程被困在 96-98%,因为一条线没有被击中。那一行就是@implementation ClassName那一行,我觉得这很令人困惑。

示例错过的实施行

从逻辑上讲,如果执行了该类的所有可执行行,则该类显然已实例化。

我使用标准 Xcode 方法 ( __gcov_flush()) 来生成.gcda.gcno使用数据,我使用 CoverStory 进行分析和 HTML 生成。

这不是什么大不了的事。@implementation显然这门课被很好地覆盖了,但是因为无论出于何种原因错过了当线,所以对那些不是 100% 的课程进行心理记录是很烦人的。

我找不到@implementation行命中的文件和错过行的文件之间的模式。有没有其他人经历过这种情况和/或知道我可以尝试缓解什么?也许它甚至可能是 CoverStory 的一个错误?