Moq'ing HttpPostedFile для стороннего API - PullRequest
2 голосов
/ 11 января 2012

Я создаю пользовательский модуль, расширяя ActiveSocial для DotNetNuke и используя API ActiveSocial, который я не могу контролировать ... и пытаюсь протестировать мой код (используя C #).

При использовании этого API - я могу сохранять изображения в AmazonS3, вызывая их метод и передавая некоторую информацию, включая объект HttpPostedFile.

Так что в моем модульном тестировании (далеко не от эксперта) я думал о том, чтобы убедиться, что тип файла HttpPostedFile - это то, что я хочу (jpg / png), прежде чем переходить к API. Но я не могу издеваться над HttpPostedFile.

Я google'd и msdn'd и видел, где некоторые люди использовали HttpPostedFileBase - но я не могу передать или привести это к HttpPostedFile к API.

Конечно - ПРЯМО СЕЙЧАС - мой код не делает ничего очень сложного, поэтому я мог бы просто пропустить эти типы тестов - но этот зверь растет и когда-нибудь захватит весь мир (скрестив пальцы), и поэтому я просто хотел достоверность тестов, если / когда сложность не изменится - ничего не испортилось.

Есть идеи / предложения?

1 Ответ

1 голос
/ 28 февраля 2014

С точки зрения юнит-тестирования вы должны абстрагироваться от частей, над которыми у вас нет контроля, и протестировать части, которые вы контролируете. Поэтому вы должны смоделировать ActiveSocial API и просто протестировать свой собственный код. Если вам нужна дополнительная помощь / руководство, было бы полезно, если бы вы включили в свой вопрос какой-то код.

...