2009-07-13 17 views
6

Tôi đang cố gắng thử một UITabBarController trong các thử nghiệm của ứng dụng của tôi. Tôi có một phương pháp thể loại trên lớp đó được xác định ở nơi khác trong một tập tin khác được nhập khẩu cùng với ocmock trong lớp thử nghiệm của tôi. những gì tôi đang cố gắng để như vậy là điều này:Làm thế nào tôi có thể nhận được OCMock để cho tôi stub một phương pháp thể loại trên một lớp UIKit?

- (void) setUp 
{ 
    id mockTabController = [OCMockObject mockForClass:[UITabBarController class]]; 
    [[[mockTabController stub] andReturn:nil] displayedViewController]; 
    // displayedViewController is the category method 
} 

nhưng khi tôi làm và thử nghiệm được cho rằng cuộc gọi còn sơ khai, tôi nhận được một lỗi nói:

[NSProxy doesNotRecognizeSelector:displayedViewController] called! 

Có một cái gì đó cụ thể tôi cần phải làm thế nào để cho phép ocmock nhận ra các phương thức danh mục được xây dựng trong các lớp khung công tác?

Trả lời

16

Tôi đã tìm ra vấn đề; tệp có danh mục lớp được xác định trong đó không nằm trong mục tiêu chính xác trong dự án của tôi. Đó là mục tiêu chính nhưng không phải là mục tiêu thử nghiệm đơn vị. thêm nó vào đúng nơi làm cho nó hoạt động bơi lội.

+3

Cảm ơn bạn đã ghi lại giải pháp của riêng mình. Nó đã giúp đỡ tôi :) – nacho4d

Các vấn đề liên quan