Tôi đang cố gắng viết một số Bài kiểm tra Đơn vị để kiểm tra một số tùy chỉnh NSOperations
mà chúng tôi đang viết. Những gì tôi muốn làm là tạo ra một Mock của NSOperation
và đặt nó trên NSOperationQueue
, và sau đó chờ đợi cho nó để kết thúc. Tôi biết tôi có thể làm lu mờ các phương pháp và không sử dụng OCMoc
k ở tất cả, nhưng tôi thực sự không muốn làm điều đó. Tôi muốn sử dụng OCMock
. Mã Tôi đang cố gắng để chạy một cái gì đó như sau:OCMock NSOperation
MYOperation *operation = [MYOperation new];
id mockOperation = [OCMockObject partialMockForObject:operation];
[NSOperationQueue *queue = [NSOperationQueue new];
[queue setMaxConcurrentOperationCount:1];
[queue addOperation:mockOperation];
Khi kiểm tra đơn vị được đến dòng này:
[queue addOperation:mockOperation];
tôi nhận được một cuộc gọi đến một ngoại lệ đối tượng deallocated. Bất cứ ai có bất cứ đề nghị về cách tôi có thể vượt qua điều này?
Đây có phải là dự án ARC không? –
Có, đó là một dự án ARC. –
Có một vấn đề trong thời gian chạy của Apple ảnh hưởng đến OCMock khi ARC được bật. Chi tiết hơn ở đây: http://www.mulle-kybernetik.com/forum/viewtopic.php?f=4&t=252 –