-1

+(Class)class単体テストを行っているときに、メソッドが適切な値を返さないクラスが 1 つだけあることに気付きました。

Class class1 = [DiscoverCell class];//(Class) 0xd264d60
Class class2 = NSClassFromString(@"DiscoverCell");//(Class) DiscoverCell
STAssertEquals(class1, class2, nil);

これが.hです

#import <UIKit/UIKit.h>

@class DiscoverItem;

@interface DiscoverCell : UITableViewCell

+ (CGFloat)getHeightWithItem:(DiscoverItem *)item;

- (void)setupWithItem:(DiscoverItem *)item;

@end

他のサブクラスで試してみましたが、すべて正常に動作します。このクラスだけのようです。

なぜこれが起こっているのでしょうか?

4

1 に答える 1

0

私は問題を理解しました。DiscoverCell ターゲット メンバーシップには、アプリ ターゲットとテスト ターゲットが含まれていました。そのため、OCMock から直接リンクされたクラスと動的に生成されたクラスがありました。アプリ ターゲットのみにターゲット メンバーシップを設定することで修正しました。

Xcode 5.0 で OCMock 2.1+ を使用してクラス メソッドをスタブできない

于 2013-11-06T21:54:10.763 に答える