2015-09-02 133 views
2

我目前開始在我的項目中編寫一些單元測試。然而,似乎我遇到了一些問題:單元測試XCTestCase中的類方法

- (void)testThatItIsValidNumber 
{ 
    BOOL result1 = [NSString isValidNumber:@"1234567890987654"]; 
    BOOL result2 = [NSString isValidNumber:@" ^123dadaj"]; 
    BOOL result3 = [NSString isValidNumber:@"123 09 123"]; 
    BOOL result4 = [NSString isValidNumber:@"~#)(^%@*#&[email protected]"]; 

    XCTAssertFalse(result1); 
    XCTAssert(result2); 
    XCTAssertFalse(result3); 
    XCTAssert(result4); 
} 

這給了我一個錯誤:

caught "NSInvalidArgumentException", "+[NSString isValidNumber]: unrecognized selector sent to class 0x1069448e0"

任何一個可以指導我的路嗎?

編輯:

+ (BOOL)isValidNumber:(NSString *)value { 
    const char *cvalue = [value UTF8String]; 
    unsigned long len = strlen(cvalue); 
    for (int i = 0; i < len; i++) { 
     if(!isNumber(cvalue[i])){ 
      return FALSE; 
     } 
    } 
    return TRUE; 
} 
+0

NSString沒有isValidNumber方法。可能你忘了導入某個類別? – Igor

+0

我已經在標題中導入了類別。 –

+0

在此處發佈您的類別實施 – Igor

回答

1

確保您的類別添加到您的測試目標,否則它不會在你的測試可用。

爲此,只需從文件導航器中選擇您的班級,然後按右側的文件檢查器即可。在目標成員部分中,檢查您的測試目標。