我正在尝试编写一些单元测试来测试我们编写的一些自定义 NSOperations。我想做的是创建一个 NSOperation 的模拟对象并将其放在 NSOperationQueue 上,然后等待它完成。我知道我可以交换方法而不使用 OCMock,但我真的不想这样做。我想使用 OCMock。我正在尝试运行的代码类似于以下内容:
当单元测试到达这行代码时:
MYOperation *operation = [MYOperation new];
id mockOperation = [OCMockObject partialMockForObject:operation];
[NSOperationQueue *queue = [NSOperationQueue new];
[queue setMaxConcurrentOperationCount:1];
[queue addOperation:mockOperation];
当单元测试到达这行代码时:
[queue addOperation:mockOperation];
我遇到了一个对象被释放的异常。你有什么建议可以帮助我解决这个问题吗?