2

私は最近、コードベースにテスト カバレッジ分析を追加しました。ありがたいことに、十分にカバーされると予想していたクラスのカバレッジは 95% を超えています。私は 100% を達成したクラスが大好きです。それが目標であることは明らかですが、私のクラスのいくつかは 96 ~ 98% で止まっています。その1行は、@implementation ClassName私が本当に混乱していると思う行です。

実装行の欠落の例

論理的には、クラスの実行可能行がすべて実行された場合、クラスは明らかにインスタンス化されています。

データの生成と使用には標準の Xcode メソッド ( __gcov_flush()) を使用し、分析と HTML 生成には CoverStory を使用しています。.gcda.gcno

大したことではありません。明らかにクラスは十分にカバーされていますが、なんらかの理由でダンライン@implementationが見逃されているため、100%ではないクラスの精神的なメモを保持するのは面倒です.

@implementation行がヒットしたファイルと行が抜けたファイルの間のパターンを見つけることができません。他の誰かがこれを経験したことがありますか、および/または私がそれを軽減しようとする方法を知っていますか? おそらくCoverStoryのバグでしょうか?

4

2 に答える 2

3

現在のプロジェクトで同じ問題が発生しましたが、次を使用して修正できます。

編集: XCText の場合、NSString * はオブジェクトであるため、XCTAssertEqualObjects である必要があります。

キウイ:

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

また

XCTAssertEqualObjects(NSStringFromClass([[YourClass new] class]), NSStringFromClass([YourClass class]));
于 2014-07-16T09:38:38.007 に答える