如何在Objective C中使用XCTestCase测试一个不返回值的方法

时间:2017-08-21 14:05:12

标签: ios objective-c xcode unit-testing xctestcase

我在XCode中练习单元测试用例。我的控制器类中有一个方法,它有一些代码行但这个方法不返回任何值。所以我的困惑是如何为这种方法编写测试用例函数。下面是我需要编写测试用例函数的方法。有人可以帮我理解怎么做吗?提前谢谢。

    _Bool isValid = true;
_strUserEmailEdited = @"Abc@test.com";
_strPasswordEdited  = @"123456789";

if ([_strPasswordEdited isEqualToString:@""] || [_strUserEmailEdited isEqualToString:@""]){
    if ([_strPasswordEdited isEqualToString:@""]) {
        _lblErrorPassword.text = @"Password is required.";
    }else{
        _lblErrorEmail.text = @"Email is required.";
    }
    isValid = false;
}

if ([_strPasswordEdited isEqualToString:@""] && [_strUserEmailEdited isEqualToString:@""]){
    NSLog(@"Please,Enter values");
    _lblErrorPassword.text = @"Password is required.";
    _lblErrorEmail.text = @"Email is required.";
    isValid = false;
}
else {
    // Validation check for EmailId
    if ([_strUserEmailEdited length]==0){
        _lblErrorEmail.text = @"Email is required.";
        isValid = false;
    }
    else if (!_strUserEmailEdited.isValidEmail) {
        // Check for Valid EmailId
        _lblErrorEmail.text = @"Please enter a valid email address.";
        isValid = false;
    }
    else if (_strUserEmailEdited.isValidPassword){
        _lblErrorEmail.text = @"";
        isValid = true;
        _lblErrorEmail.text = @"";
    }
    // Check for Valid Password
    if ([_strPasswordEdited length]==0){
        _lblErrorPassword.text = @"Password is required.";
        isValid = false;
    }else if (!_strUserEmailEdited.isValidPassword) {
        isValid = false;
        _lblErrorPassword.text = @"";
    }else if([_strPasswordEdited length]>=1 && _strUserEmailEdited.isValidEmail){
        _lblErrorPassword.text = @"";
        isValid = true;
    }else{
        isValid = false;
        _lblErrorPassword.text = @"";
    }
}
if (isValid==true){
}

0 个答案:

没有答案