Не хотите ли вы смоделировать объект StreamReader? - PullRequest
3 голосов
/ 15 сентября 2008

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

Разумно ли использовать Mock Objects с этим и как?

Ответы [ 4 ]

3 голосов
/ 15 сентября 2008

Я не вижу смысла издеваться над StreamReader, если вы не создаете производный класс StreamReader. Если вам необходимо обеспечить тестовый ввод через StreamReader, просто прочитайте некоторые предопределенные данные из любого подходящего источника.

2 голосов
/ 15 сентября 2008

StreamReader - это конкретный класс, поэтому многие системы мошенничества не позволяют вам его высмеивать. TypeMock Isolator будет, однако.

Вы можете обнаружить, что хотите издеваться над ним, если вам нужно заставить ошибки поступать от читателя, а не просто отправлять данные в ваш тестируемый класс. Если вам не нужны эти функциональные возможности, возможно, вы создаете StreamReader из какого-либо другого потока, такого как MemoryStream . на диск для ваших данных.

1 голос
/ 15 сентября 2008

Вы можете использовать фабричный метод для возврата TextReader, который может быть либо фиктивным объектом, либо фактическим StreamReader.

1 голос
/ 15 сентября 2008

При тестировании кода, который зависит от потоков, потоковых ридеров и потоковых писателей, я обычно использую объект памяти для тестирования. Здесь не нужны насмешливые рамки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...