Тестирование стороннего API через Fitnesse - PullRequest
1 голос
/ 23 мая 2011

нам нужно протестировать несколько API-интерфейсов, которые лежат на удаленной машине, которую нужно протестировать с помощью fitnesse.

У нас есть некоторые предварительные условия.

  1. Нам нужноиспользуйте веб-сервисы для тестирования этих API.А jar API (скажем, xyz.jar) находится на стороне сервера.Где должен быть развернут веб-сервис.
  2. Входные данные должны быть даны с использованием фитнеса.И xyz.jar не доступен на стороне фитнеса.Потому что подход клиента должен быть независимым от изменений в xyz.jar и, следовательно, он делает его универсальным для всех будущих версий.
  3. Пользователь будет указывать, какой метод какого класса должен быть проверен, вместе с входными данными ввики-страница.

Здесь предполагается, что используются входные значения и имя API, заданные на вики-странице: благодаря отражению того, что API будет вызываться из веб-службы.

SAMPLE DATA FLOW

|Фитнес |-----> |Бизнес уровень |-> |Веб-сервис прокси |-------> |Веб-сервис |-------> |xyz.jar |

Мы сталкиваемся с некоторыми проблемами, такими как.

  1. Некоторые API-интерфейсы похожи на doSomething (CustomId someId, тип DBLoaderType, фильтр DBFilter, логическое исключение)возвращает java.util.List Но эти CustomId, DBLoaderType, DBFilter, SomeNavigationSystem не являются сериализуемыми объектами.

  2. Некоторые API-интерфейсы возвращают значения, которые могут быть примитивами типа Java, оболочкой или пользовательскими объектами или коллекцией пользовательских объектов.(boolean, Boolean, List Map, Map> Как проверить типы возвращаемых данных?

  3. Одна из проблем, с которыми мы сталкиваемся, заключается в следующем: как вводить входные данные из фитнеса в слой Java (который будетвызовите веб-сервис для проверки API) Если API имеет тип registerUsersForMessage (int messageId, Список пользователей, логический forceRegister, int maxBatch, Map), как передать такие данные в слой Java со страницы Wiki Fitnesse? Есть ли способ нажатьвходные данные «где-то», так что вики-страница тестера будет чистой?

Любая помощь для этого приветствуется. Или любые вопросы, которые могут привести к мозговому штурму, тоже приветствуются. Заранее спасибо.

1 Ответ

1 голос
/ 24 мая 2011

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

Если вы думаете на уровне проверки типов возвращаемых данных изфункции API, которые звучат как совсем другой вид теста.

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

...