Uri*_*Uri 17 java junit unit-testing junit4
我必须为一组复杂的业务规则编写一个非常大的测试套件,这些规则目前以几种表格形式捕获(例如,如果参数XYZ是这样的,那么值应该在V1和V2之间).每个规则都有一个名称和自己的语义.
我的最终目标是建立一个测试套件,组织成子测试套件,每个规则都有一个测试用例.
一种选择是将所有这些规则硬编码为测试.这是丑陋的,耗时的,不灵活的.
另一种方法是编写一个Python脚本,该脚本将读取规则文件并使用单元测试生成Java类.如果可以的话,我宁愿避免这种情况.另一种变化是使用Jython.
理想情况下,我希望有一个可以读取文件的测试套件,然后在其中定义子套件和测试.所有这些测试都可以从表文件采取了一定的值进行初始化,在我们的系统中运行的固定入口点,然后调用基于预期值的结果会验证功能.
是否有合理的方法只使用Java来解决这个问题?
更新:我可能在某种程度上简化了我们的规则.其中一些确实是表格式(excel风格),另一些则更模糊.一般的问题仍然存在,因为我可能不是第一个遇到这个问题的人.
Kat*_*one 17
在JUnit 4中,您将需要查看Parameterized runner.它是为您描述的目的而创建的(数据驱动测试).但是它不会将它们组织成套房.
在Junit 3中,您可以以编程方式创建TestSuite和Tests.答案在Junit Recipes中,如果需要,我可以扩展(请记住JUnit 4可以运行Junit 3测试).
| 归档时间: |
|
| 查看次数: |
9923 次 |
| 最近记录: |