我有一個符合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