- (void)testExample {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
#pragma mark - 为空判断
// XCTAssertNil(nil,@"必须为空"); //正确
// XCTAssertNil(@"",@"必须为空"); //错误
#pragma mark - 非空判断
// XCTAssertNotNil(@"非空判断",@"非空正确,反之错误"); //正确
// XCTAssertNotNil(nil,@"非空正确,反之错误"); //错误
#pragma mark - 表达式判断 1
// XCTAssert(3 > 2, @"表达式为真,则正确,反之错误");//正确
// XCTAssert(3 < 2, @"表达式为真,则正确,反之错误");//错误
#pragma mark - 表达式判断 2
// XCTAssertTrue(3 > 2 , @"表达式为真,则正确,反之错误");//正确
// XCTAssertTrue(3 < 2 , @"表达式为真,则正确,反之错误");//错误
#pragma mark - 表达式判断 3
// XCTAssertFalse(3 < 2, @"表达式为假,则正确,反之错误");//正确
// XCTAssertFalse(3 > 2, @"表达式为假,则正确,反之错误");//错误
#pragma mark - 变量关系判断 1
// XCTAssertEqualObjects(@"1", @"1", @"判断参数是否相等,相等则通过,不等则不通过");//正确
// XCTAssertEqualObjects(@"", @"",@"判断参数是否相等,相等则通过,不等则不通过"); //正确
// XCTAssertEqualObjects(@"1", @"2",@"判断参数是否相等,相等则通过,不等则不通过");//错误
#pragma mark - 变量关系判断 2
// XCTAssertNotEqualObjects(@"", @"2", @"判断参数是否不相等,相等则不通过,不等则通过");//正确
// XCTAssertNotEqualObjects(@"1", @"1",@"判断参数是否相等,相等则不通过,不等则通过");//错误
#pragma mark - 变量关系判断 3
//基本数据类型
// XCTAssertEqual(1, 1,@"此方法,不仅判断值是否相同,类型,及指针类型都必须相同才可通过,否则不通过");//正确
// XCTAssertEqual(1, 2,@"此方法,不仅判断值是否相同,类型,及指针类型都必须相同才可通过,否则不通过");//错误
//字符串类型
/*
NSString *test1 = @"1";
NSString *test2 = @"2";
NSString *test4 = @"1";
NSString *test3 = test1;
XCTAssertEqual(test1, test3, @"此方法,不仅判断值是否相同,类型,及指针类型都必须相同才可通过,否则不通过");//正确
XCTAssertEqual(test1, test2,@"此方法,不仅判断值是否相同,类型,及指针类型都必须相同才可通过,否则不通过");//错误
XCTAssertEqual(test1, test4,@"此方法,不仅判断值是否相同,类型,及指针类型都必须相同才可通过,否则不通过");//错误
*/
/*
//数组类型
NSArray *test1 = @[@1];
NSArray *test2 = @[@1];
NSArray *test4 = @[@2];
NSArray *test3 = test1;
// XCTAssertEqual(test1, test3,@"此方法,不仅判断值是否相同,类型,及指针类型都必须相同才可通过,否则不通过");//正确
// XCTAssertEqual(test1, test2,@"此方法,不仅判断值是否相同,类型,及指针类型都必须相同才可通过,否则不通过");//错误
// XCTAssertEqual(test1, test4, @"此方法,不仅判断值是否相同,类型,及指针类型都必须相同才可通过,否则不通过");//错误
*/
//字典类型 同理
#pragma mark - 变量关系判断 4
// XCTAssertNotEqual(1, 2,@"此方法,与 XCTAssertEqual 方法相反,相同则不通过,不同则通过");//正确
// XCTAssertNotEqual(1,1, @"此方法,与 XCTAssertEqual 方法相反,相同则不通过,不同则通过");//错误
//数组,字典 请自行举例
#pragma mark - 变量关系判断 5
// XCTAssertEqualWithAccuracy(1, 2, 2,@"此方法在变量(double 或 float)判断时,添加了误差范围,在 (+ / - )误差范围内,为真时,则通过,反之不通过");//正确
// XCTAssertEqualWithAccuracy(1, 4, 2, @"此方法在变量(double 或 float)判断时,添加了误差范围,在 (+ / - )误差范围内,为真时,则通过,反之不通过");//错误
#pragma mark - 变量关系判断 6
// XCTAssertNotEqualWithAccuracy(1, 4, 2,@"此方法在变量(double 或 float)判断时,添加了误差范围,在 (+ / - )误差范围内,为真时,不通过,反之通过");//正确
// XCTAssertNotEqualWithAccuracy(1, 3, 3,@"此方法在变量(double 或 float)判断时,添加了误差范围,在 (+ / - )误差范围内,为真时,不通过,反之通过");//错误
#pragma mark - 异常测试
// XCTAssertThrows(<#expression, ...#>)//当expression发生异常时通过;反之不通过;
// XCTAssertNoThrow(<#expression, ...#>)//当expression发生异常时不通过;反之通过;
// XCTAssertThrowsSpecific(<#expression#>, <#exception_class, ...#>) //当expression发生 specificException 异常时通过;反之发生其他异常或不发生异常均不通过
// XCTAssertNoThrowSpecific(<#expression#>, <#exception_class, ...#>) //当expression发生 specificException 异常时不通过;反之发生其他异常或不发生异常均通过
// XCTAssertThrowsSpecificNamed(<#expression#>, <#exception_class#>, <#exception_name, ...#>); //当expression发生具体异常、具体异常名称的异常时通过测试,反之不通过
// XCTAssertNoThrowSpecificNamed(<#expression#>, <#exception_class#>, <#exception_name, ...#>);//当expression发生具体异常、具体异常名称的异常时不通过测试,反之通过
}
单元测试 方法讲解
最新推荐文章于 2023-07-05 17:26:32 发布