0
我想模擬一個數組,這是我的班級內的私有財產。我已經通過這樣做了我的單元測試。 (這是我的單元測試文件中)ios:嘲弄私有財產
@interface MyViewController()
@property (nonatomic, strong) NSArray myArray;
@end
讓我們假設我有一個名爲Person
類型和此數組應該包含人的對象。所以,我在我的測試案例
- (void)testBeneficiariesCount {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
id mockArray = OCMClassMock([NSArray class]);
self.myVC.myarray = mockArray;
Person *p1 = [[Person alloc] init];
Person *p2 = [[Person alloc] init];
Person *p3 = [[Person alloc] init];
Person *p4 = [[Person alloc] init];
Person *p5 = [[Person alloc] init];
p1.name = @「Alice"; p2.name = @「James」; p3.name = @「Oscar"; p4.name = @「Harri」; p5.name = @「John」;
persons = [NSArray arrayWithObjects:p1,p2,p3,p4,p5,nil];
OCMStub([self.myVC myArray]).andReturn(persons);
XCTAssertEqual([self.myVC numberOfPersons], 5);
}
myVC做下面有一個名爲numberOfPersons
方法,當我運行這一點,測試用例失敗抱怨(0) is not equal to (5)
。這意味着我不能成功地模擬我的數組,因爲我也試圖打印模擬數組,並且它沒有任何內容。
有些人可以告訴我在這裏做錯了什麼。