我必须写一个非常大的测试套件一套复杂的业务规则当前在几个表格形式(例如,如果参数X Y Z为如此这般,则该值应为V1和V2之间)捕获。每个规则都有一个名称和它自己的语义。是否有可能以编程方式生成JUnit测试用例和套件?
我的最终目标是将测试套件组织到子测试套件中,并为每个规则提供测试用例。
一种选择是将所有这些规则实际硬编码为测试。这很丑陋,耗时而且不灵活。
另一种方法是编写一个Python脚本,它将读取规则文件并使用单元测试生成Java类。如果可以,我宁愿避免这种情况。另一个变体是使用Jython。
然而,理想情况下,我想有一个测试套件来读取文件,然后定义它们中的子套件和测试。所有这些测试都可以从表文件采取了一定的值进行初始化,在我们的系统中运行的固定入口点,然后调用基于预期值的结果会验证功能。
是否有一种合理的方法可以仅使用Java来解决这个问题?
更新:我可能有所简化我们的一种规则。其中一些确实是表格(excel风格),其他则更加模糊。一般问题仍然存在,因为我可能不是第一个有这个问题的人。
非常有兴趣了解这个;我需要更多地了解测试用例。 – I82Much 2009-10-29 21:34:51