这是我第一次尝试使用OCMOCK框架来测试我的iOS
应用程序,我对此感到困惑。
假设我有一个名为School
的类名,我想测试它。这门课包含学生。假设我想通过添加学生来启动学校,所以我做了这样的事情School *school = [School alloc] initWithOneStudent:student];
现在学生班就是这样。
@interface Student : NSObject
@property (nonatomic, strong) NSString *firstName;
@property (nonatomic, strong) NSString *lastName;
@end
现在我如何在我的测试用例中获取一个学生对象,当我模拟它以将其传递给firstName
lastName
和initWithOneStudent
的一些值
我刚刚编写了这个例子,请原谅,如果你不喜欢这个例子。
答案 0 :(得分:0)
对于您的测试用例,您可以将其设置为如下
- (void)testCase {
id mockStudent = OCMClassMock([Student class]);
OCMStub([mockStudent firstName]).andReturn(@"firstName");
OCMStub([mockStudent lastName]).andReturn(@"lastName");
School *school = [School alloc] initWithOneStudent:mockStudent];
XCTAssertNotNil(school);
XCTAssertEqual(school.student.firstName, @"firstName");
XCTAssertEqual(school.student.lastName, @"lastName");
}