XCTAssertEqual fails to compare two string values?

前端 未结 3 2043
伪装坚强ぢ
伪装坚强ぢ 2020-12-08 18:15

I added a simple unit test to test my string extension. But it fails. What I am I doing wrong here?

From what I know XCTAssertEqual is testing value and

3条回答
  •  我在风中等你
    2020-12-08 18:48

    Comparing strings

    - (void) testStringComparison {
    
        NSString *first = @"my string";
        NSString *second = @"my string";
    
        NSMutableString *firstMutable = [NSMutableString stringWithString:first];
    
        //== comparing addresses of the objects(pointer comparison)
        //`first` and `second` has the same address it is a compiler optimization to store only one copy
        XCTAssertTrue(first == second);
        XCTAssertFalse(first == firstMutable);
    
        XCTAssertEqual(first, second);
        XCTAssertNotEqual(first, firstMutable);
        XCTAssertEqualObjects(first, firstMutable);
        XCTAssertTrue([first isEqualToString:firstMutable]);
    }
    

提交回复
热议问题