我有一个符合UIKeyInput协议的UITextView的子类。所以我写了一些逻辑测试。 我没有错误,和所有其他的测试运行良好,但是当myTextView对象应该创建:测试用例在[[MyObject alloc] init]失败
MyTextView *myTextView = [[MyTextView alloc] initWithFrame:frame];
停止测试,(像一个破发点)它不会继续
我不知道为什么这是?也许MyTextView的对象不能在逻辑测试中创建?我需要在这里进行应用程序测试吗?如果是这样,那么规则是什么?
ADDED:
这是一个测试:(我有一对夫妇以上,但他们都止步于第一行)
- (void)testHasText{
MyTextView *myTextView = [[MyTextView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[myTextView setText:@"some text"];
STAssertTrue([myTextView hasText], @"hasText failed: It has text!");
[myTextView setText:@""];
STAssertFalse([myTextView hasText], @"hasText failed: It it empty!");
[myTextView release];
}
这是MyTextView实现:
- (BOOL)hasText{
return [[self text] length]>0?YES:NO;
}
我已经评论了MyTextView中的其他方法,只留下了三个与UIKeyInput相关的方法。
此外,我还将MyTextView.m添加到LogicTests目标中的编译源列表中。这可能是配置问题,即使我没有得到任何链接器错误或警告?
我想我们需要更多的细节来帮助你。将代码发布到您的子类的initWithFrame方法以及测试用例代码将是一个开始。 – 2011-06-15 07:07:38
UITextView可能是一个类集群,在这种情况下,子类化不起作用。 – EmilioPelaez 2011-06-15 07:28:58
@Emilio你是什么意思的类集群? – nacho4d 2011-06-15 07:30:35