Тестирование интеграции службы данных покоя
У меня есть служба отдыха, которую я хотел бы протестировать без необходимости писать сотни тестов. Чтобы получить общее представление о моем сервисе, прочитайте следующее: Мой сервис принимает несколько значений данных, например:
- город
- государственный
- название
- Дата
- цвет
На конкретную конечную точку URL, т.е. http://serverName:port/category/specificEndpoint
, С этими данными внутренний API выполняет некоторую логику, а затем динамически добавляет значения к запросу (используя шаблон скорости), который собирает данные из базы данных, а затем возвращает эту информацию вызывающей стороне службы в определенном формате.
Чтобы проверить ответы, я создавал тесты с комбинациями этих значений. Например:
Критерий поиска:
<City,State>
<City>
<Name, Date, Color>
<City, State, Name, Date, Color>
Затем я проверяю ответы, чтобы увидеть, имеют ли они значения данных, которые я ищу. Как видите, каждый раз, когда я добавляю еще один критерий поиска, тесты становятся все больше и больше. Я хотел знать, существует ли фреймворк или метод для такого рода ситуаций.
Есть несколько угловых случаев, которые я могу протестировать отдельно, но существует ли что-то, что могло бы помочь в тестировании этого сервиса, и этим можно легко манипулировать для будущих дополнений критериев поиска? Платформа будет способна тестировать следующие комбинации (Power Set) с учетом пяти критериев поиска, показанных выше:
{},{City},{State},{ Name},{ Date},{ Color},{City,State},{City, Name},{City, Date},{City, Color},{State, Name},{State, Date},{State, Color},{ Name, Date},{ Name, Color},{ Date, Color},{City,State, Name},{City,State, Date},{City,State, Color},{City, Name, Date},{City, Name, Color},{City, Date, Color},{State, Name, Date},{State, Name, Color},{State, Date, Color},{ Name, Date, Color},{City,State, Name, Date},{City,State, Name, Color},{City,State, Date, Color},{City, Name, Date, Color},{State, Name, Date, Color},{City,State, Name, Date, Color}