#.net #qa #web-api-testing
#.net #qa #веб-api-тестирование
Вопрос:
У меня есть проблема, как убедиться, что мой веб-API работает правильно. Моя среда-.NET, поэтому я буду писать в этом духе, но вопрос не в этом .ЧИСТАЯ специфика.
Итак, давайте рассмотрим пример конечной /chart/btc
точки, которая возвращает данные для отображения цен в компоненте диаграммы, например:
[ {"timestamp": "2021-01-01T00:00:00", "price": 58000.0}, {"timestamp": "2021-01-01T02:00:00", "price": 58200.0}, {"timestamp": "2021-01-01T04:00:00", "price": 572000} // ... ]
Тесты, которые я хочу проверить, это:
- ответ должен содержать ожидаемую сумму для точек данных
- метки времени не должны повторяться и должны быть упорядочены
- временные метки не должны быть старше заданного значения
- цены должны быть (почти все время) разными
Вопрос в том, как/где/когда я должен это проверить?
Варианты, которые я вижу сейчас, таковы:
- Почтальон (вы можете писать тесты в java-скрипте, чтобы я мог охватить все тесты, но им не хватает поддержки GIT)
- Thunder (альтернатива почтальона; у него есть поддержка GIT (дружелюбный к команде QA), но тесты ограничены, и я не могу охватить верхние регистры)
- Библиотека FluentValidation для объектов ответа (это .NET, поэтому она мощная, но я не знаю, когда ее запускать? Всегда (производительность?), включив его с помощью строки HTTP-запроса или заголовка HTTP? Как сообщить о результатах? журналы? Код статуса? Заголовки ответов?
И что насчет того, когда? Должно ли это быть включено только в среде тестирования или также в рабочей среде?
Спасибо.
Комментарии:
1. 1. вы можете использовать LINQ и фильтровать свои данные.
2. Я знаю, что могу, но это не мой вопрос/забота.
3. Пожалуйста, объясните свой вопрос
4. Это не «технический» вопрос в том смысле, как написать код для проверки данных. Я знаю, как написать функцию, которая возвращает true/false, если ответ действителен. Я спрашиваю, куда поместить этот код и когда его запускать, и, частично, какие инструменты я должен использовать, чтобы это было также удобно для сотрудничества с сотрудниками отдела контроля качества
5. Я бы постарался проверить это как можно раньше. 3 первых перечисленных пункта должны быть доступны для тестирования на уровне модульного / интеграционного тестирования. Запустите его локально и на своем сервере сборки. Я не вижу причин использовать для этого Почтальона. Пункт 4 требует немного большего контекста, чтобы помочь вам. Возможно, достаточно будет просто проверить, что не все возвращенные цены одинаковы?