[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/ancroid/iOSInterviewsAndDevNotes/master/iOSNote/UnitTesting.md [Back]  [Original]

# Unit Testing


### 

- `` 
- ,
-  ()
- ,,,.


### 
 -  -> -> -> ()-> -> -> ``-> 
 -  ,,,,
 
### 

- ,()
- API
- 

- `Mock` 

### : ``.``.``

- ,.

### 

-  ,
- ,


### 

- UI  
-   ``
- SDK//  ``


### iOS
- 


```
//      XCTAssertNil() //  expression,id 
//      XCTAssertNotNil() // expression,id 
    
//    XCTAssert()// expressiontrue, bool 
//    XCTAssertFalse() expressionfalse, bool 

    //    XCTAssertEqualObjects(, ) expression1 expression2 
//    XCTAssertNotEqual(, )expression1 expression2 

//    XCTAssertEqual(, )expression1 expression2 ,
//    XCTAssertNotEqual(, )expression1 expression2 

//XCTAssertEqualWithAccuracy(, , ) expression1 expression2accuracy    

//XCTAssertGreaterThan(, ) expression1 expression2 
    
// 
//    XCTAssertThrows() ,  expression 
  

```


```
  @weakify_self;
    [self.testItem addKVOForPath:@"desc" withBlock:^(id newValue) {
        @strongify_self;
        XCTAssertEqualObjects(newValue, @"A cup of wine");
        [KVOExpectation fulfill]; // 
    }];
    
    self.testItem.desc = @"A cup of wine";
    
    [self waitForExpectationsWithTimeout:0.001f handler:^(NSError *error) {
        [weakSelf.testItem removeAllKVOs];
    }];


```


```
 NSInteger targetCount = 1000;
    @weakify_self;
    [self measureBlock:^
    {
        @strongify_self;
        for (NSUInteger i = 0; i < targetCount; i++)
        {
            @autoreleasepool
            {
                [self.testItem addKVOForPath:@"weight" withBlock:^(id newValue)
                {
                    //NSNumber *weight = (NSNumber *)newValue;
                }];
                [self.testItem removeAllKVOs];
            }
        }
    }];

```



Web Proxy Viewer  |  New URL  |  Original Page