2016-06-16 2 views
3

Я хотел бы протестировать сторонний API, такой как прогноз.io, но я не совсем уверен, как достичь того, чего я хочу достичь.Тестирование сторонних API

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

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

Есть ли хороший способ сделать это?

Большое спасибо

TLDR; Мне не нужны макеты!

+0

Я не думаю, что это подходящий сценарий для тестирования (кстати, это будет тестирование системы/интеграции, а не модульное тестирование), особенно когда речь идет о таких общедоступных и широко используемых API. Последнее, что они хотят сделать, это разорвать контракт и обратную совместимость с ним - они, вероятно, будут использовать управление версиями, прежде чем вносить изменения, а также сначала выставлять какой-то программный API. Независимо от вашего теста, если они собираются сломаться, все остальные клиенты (включая ваш производственный сервис). –

+0

Есть ли хорошие рамки для тестирования системы/интеграции? Я знаю, но если что-нибудь сломается, я бы сразу заметил и мог опубликовать обновление для производства. – ph1lb4

ответ

0

Я собираюсь попытаться ответить на этот вопрос так же, как это было задано. Я понимаю, что OP хочет избежать тестирования каждого типа ответа, но если вы полагаетесь на эти данные для непрерывности пользователей и/или дохода, вы можете подумать о создании вызывающего абонента api, чтобы вы могли посмотреть на каждую часть ответа api (ов) а также проверить URL-адрес, ключ api и т. д. Я бы использовал язык OO, но я уверен, что есть другие способы.

В общем:

  1. создать процесс/библиотеку/программное обеспечение, которое может вызывать АНИ
  2. сериализации/магазин данные, которые вы ожидаете (GSON в случае ФПА в)
  3. испытательной установка его XUnit или NUnit
  4. автоматизировать его для запуска в каждый период времени х и генерировать письмо с успехом/изменения/незачет сообщение

Это небольшой проект, если вы рассчитываете на него - нужно затянуть все винты и болты. Каждый шаг заслуживает собственного вопроса (и может уже иметь его).

[Я могу добавить некоторые примеры кода в C# здесь, если это поможет]

Как автоматизировать этот процесс для запуска и электронной почты вы совершенно другой вопрос, но надеюсь, что это дает вам представление о том, ориентированных на объект библиотека может помочь вам протестировать каждую часть данных, которые планируется использовать вашему собственному программному обеспечению. Не каждый хозяин api сообщит вам своевременно, когда/если изменения произойдут, и вы можете даже знать, прежде чем они это сделают, если что-то сломается.

Смежные вопросы