Мне нужно написать очень большой набор тестов для сложного набора бизнес-правил, которые в настоящее время фиксируются в нескольких табличных формах (например, если параметры X Y Z такие-то и такие, значение должно быть между V1 и V2). У каждого правила есть имя и своя семантика.
Моя конечная цель - создать набор тестов, разбитый на наборы дополнительных тестов, с тестовым набором для каждого правила.
Один из вариантов - на самом деле жестко закодировать все эти правила в качестве тестов. Это уродливо, отнимает много времени и негибко.
Другой - написать скрипт на Python, который будет читать файлы правил и генерировать классы Java с помощью модульных тестов. Я бы предпочел избежать этого, если смогу. Другой вариант - использовать Jython.
В идеале, однако, я хотел бы иметь набор тестов, который будет читать файлы, а затем определять под-наборы и тесты внутри них. Каждый из этих тестов можно инициализировать определенными значениями, взятыми из файлов таблиц, запустить фиксированные точки входа в нашей системе, а затем вызвать некоторую функцию проверки на основе результатов, основанных на ожидаемом значении.
Есть ли разумный способ справиться с этим, используя только Java?
Обновление: возможно, я несколько упростил наши правила. Некоторые из них действительно являются табличными (стиль Excel), другие более размыты. Общий вопрос, тем не менее, остается, так как я, вероятно, не первый человек, который имеет эту проблему.