我目前正在开始在我的项目中编写一些单元测试。但是,似乎我遇到了一些问题:
- (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]:无法识别的选择器已发送给类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;
}
最佳答案
确保您的类别已添加到测试目标中,否则它将在您的测试中不可用。
为此,只需从文件导航器中选择您的 class ,然后按右侧的文档检查器即可。在“目标成员资格”部分中,检查您的测试目标。
关于ios - 在XCTestCase中对类方法进行单元测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32355204/