Я создал фиктивный UINavigationController с помощью OCMock. Однако я не могу назначить его свойству navigationController UIViewController, поскольку это свойство доступно только для чтения.
id mockNavController = [OCMockObject mockForClass:[UINavigationController class]];
...
myViewController.navigationController = mockNavController; // readonly!
Автор этого сообщения в блоге утверждает, что нашел решение, но не поделился им.