Модульное тестирование интерфейса сервера для приложения Silverlight-Facebook - PullRequest
2 голосов
/ 21 июня 2010

У меня есть клиент Silverlight 4, работающий на странице Facebook, размещенной в Google App Engine.Он использует gminifb для связи с API Facebook.Клиент Silverlight использует вызовы POST к URI для каждого метода и передает информацию о сеансе из Facebook при каждом вызове.

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

  1. Каков выбор для создания тестовой системы для этого?Плюсы / минусы каждого?

  2. Как начать настраивать что-то подобное?

1 Ответ

2 голосов
/ 28 июня 2010

решаемая. Я сделал это следующим образом:

  1. Создана специальная учетная запись пользователя, которая будет использоваться для тестирования на сервере, который обошел аутентификацию. Только сделал это в тестовой среде, установив флажок отладки в настройках этой среды. Это позволило избежать создания какой-либо дыры в безопасности на действующем сайте (поскольку тот же флаг отладки будет ложным там).

  2. Создано решение C # .NET для проверки каждого вызова API. Хост-проект - это консольное приложение (без графического интерфейса) с тремя повторно используемыми синхронными методами:
    SendFormRequest(WebRequest request, Dictionary<string,string> pairs)
    GetJsonFromResponse(HttpWebResponse response)
    и ResetAccount().
    Эти три метода позволяют хост-проекту делать HTTP-запросы на сервере и читать ответы JSON.

  3. Заключает каждый вызов API сервера в вызов метода в хост-проекте.

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

  5. Создан ряд тестов для проверки правильности обработки ошибок для недопустимых параметров и данных.

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

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