我必须为目前以几种表格形式捕获的一组复杂的业务规则编写一个非常大的测试套件(例如,如果参数 XYZ 是这样那样,则值应该在 V1 和 V2 之间)。每个规则都有一个名称和它自己的语义。
我的最终目标是拥有一个测试套件,组织成子测试套件,每个规则都有一个测试用例。
一种选择是将所有这些规则实际硬编码为测试。这是丑陋的、耗时的和不灵活的。
另一种方法是编写一个 Python 脚本来读取规则文件并使用单元测试生成 Java 类。如果可以的话,我宁愿避免这种情况。另一种变体是使用 Jython。
但是,理想情况下,我希望有一个可以读取文件的测试套件,然后在其中定义子套件和测试。这些测试中的每一个都可能使用从表文件中获取的某些值进行初始化,在我们的系统中运行固定的入口点,然后根据预期值对结果调用一些验证器函数。
有没有一种合理的方法可以仅使用 Java 来实现这一点?
更新:我可能在某种程度上简化了我们的规则。其中一些确实是表格(excel 风格),另一些则比较模糊。不过,一般问题仍然存在,因为我可能不是第一个遇到这个问题的人。