gpt4 book ai didi

iOS 代码覆盖率 : @implementation Not Hit?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:06:04 26 4
gpt4 key购买 nike

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

Example missed implementation line

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

我正在使用标准 Xcode 方法 (__gcov_flush()) 生成 .gcda.gcno 使用数据,并且我' m 使用 CoverStory 进行分析和生成 HTML。

这不是什么大不了的事;很明显,该类已被很好地覆盖,但是保留未达到 100% 的类的心理笔记很烦人,因为该死的 @implementation 行无论出于何种原因都被遗漏了。

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

最佳答案

我的当前项目遇到了同样的问题,您可以使用以下方法修复它:

编辑:对于 XCText,它应该是 XCTAssertEqualObjects 因为 NSString * 是对象

猕猴桃:

[NSStringFromClass([[YourClass new] class]) should] equal:NSStringFromClass[YourClass class])]

XCTAssertEqualObjects(NSStringFromClass([[YourClass new] class]), NSStringFromClass([YourClass class]));

关于iOS 代码覆盖率 : @implementation Not Hit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22396448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com