Objective-C: NSInputStream и NSOutputStream для целей тестирования


В моем приложении есть класс, который инициализируется с помощью NSInputStream. Для целей тестирования я хочу записать данные на NSOutputStream, который затем принимается этим входным потоком. Это должно вызвать событие NSStreamEventHasBytesAvailable.

Единственное, что я не знаю, как это настроить. У кого-нибудь есть идея? Или предложения, как модульное тестирование класса С имеет NSStream как зависимость.

Спасибо

2 2

2 ответа:

Это на самом деле очень сложно, так как кажется, что вы можете создать входной поток только с помощью файла, URL или NSData. Вы не можете подключить входной поток к выходному потоку, хотя вы могли бы написать один класс, который реализует оба интерфейса.

Самый простой способ сделать модульный тест, вероятно, будет состоять в создании входного потока из NSData байтов, которые вы уже прочитали из выходного потока.

Это на самом деле не очень сложно, я описал, как это сделать, используя пример кода SimpleURLConnection, доступный на сайте разработчика apple.

Это вопрос , и мой ответ там будет работать и здесь.