我目前正在项目中开始编写一些单元测试。然而,似乎我遇到了一些问题:
- (void)testThatItIsValidNumber
{
BOOL result1 = [NSString isValidNumber:@"1234567890987654"];
BOOL result2 = [NSString isValidNumber:@" ^123dadaj"];
BOOL result3 = [NSString isValidNumber:@"123 09 123"];
BOOL result4 = [NSString isValidNumber:@"~#)(^%@*#&Bhadahj1@"];
XCTAssertFalse(result1);
XCTAssert(result2);
XCTAssertFalse(result3);
XCTAssert(result4);
}
这给我报错了:
捕获到 "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;
}