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