В настоящее время я пишу класс Objective-C, который имеет относительно сложный метод в своем интерфейсе. Для целей вопроса я буду использовать следующую декларацию ...
@interface Processor : NSObject {
}
- (NSObject*)doSomeComplicatedProcessing:(NSObject*)param;
@end
Так что doSomeComplicatedProcessing - мой сложный метод. В моей реализации doSomeComplicatedProcessing я вызываю ряд других методов, которые объявлены и реализованы в Processor.m (т.е. они не являются частью интерфейса). Методы не являются частью интерфейса, поскольку они используются исключительно в реализации doSomeComplicatedProcessing и не будут использоваться для клиентов Processor.
Мне интересно, как лучше всего тестировать эти методы? Очевидно, что я могу протестировать doSomeComplicatedProcessing в целом, но что если я захочу протестировать неинтерфейсные методы?
В настоящее время я вызываю эти методы и игнорирую компилятор, предупреждающий меня о том, что Processor «может не реализовывать метод someMethodName», но он оставляет меня немного грязным. Есть ли лучший способ для Objective-C решить эту проблему?