Я сталкиваюсь с тем, что я считаю общей проблемой, но я не нашел много дискуссий или существующих инструментов для ее решения. Я пытаюсь настроить систему интеграционных тестов (уже имеющую сильный набор модульных тестов), которая поддерживает QA для отправки входных данных и ожидаемых результатов (в форме плоских файлов, в идеале), которые можно запускать из стандартизированного класса junit.
У меня есть план развернуть здесь свой собственный, используя аннотацию junit @Paramaterized
. Я представляю себе каждый набор данных и результатов, содержащий контрольный файл и все контрольные файлы, помещенные в один каталог. Метод генератора параметров будет сканировать этот каталог и возвращать список этих файлов. Затем конструктор теста прочитает этот файл и настроит входные данные и ожидаемые результаты.
Прежде чем я начну писать это, я хотел посмотреть, существуют ли уже инструменты для такого рода вещей, а если нет, то узнать некоторые мнения по поводу предлагаемого мной решения.
Само приложение представляет собой чисто базовый инструмент типа ETL, который берет данные из нескольких входных файлов в различных форматах и выдает результаты в базе данных. У меня уже есть несколько статических интеграционных тестов, которые используют Derby в базе данных памяти, чтобы проверить результаты для тривиальных входных данных, и я планирую использовать аналогичную систему для подтверждения данных здесь. Ожидаемые результаты будут в виде (key_value, column, expected value)
троек. Я хочу использовать junit для связи с остальной частью нашей инфраструктуры тестирования и отчетов о результатах.