【发布时间】:2015-01-19 01:06:07
【问题描述】:
我有一个关于 JUnit 中的参数化测试的问题。我正在运行一个包含所有测试类的测试套件,我的课程要求有一个测试套件来运行我的所有测试类,所以我无法修改它。问题是我有一堆 Entry 对象(让我们将其视为具有唯一 id 从 1 开始并在每次创建它的新实例时递增的对象),并且它们正在由 JUnit 进行预处理。在编译和运行我的程序时,我有 9 个条目,它们在 ParamTest 类中声明。在另一类 (EntryTest) 中,我创建了一个条目,它的 ID 应该为 1。但是,它的 ID 为 10,这意味着参数化测试类中的 9 个条目是事先创建的。
我的问题是,是否有强制ParamTest 类在运行EntryTest 类之前不进行任何预处理,或者这是不可能的。在套件中,我确保在ParamTest 之前声明EntryTest。如果不可能,除了创建单独的套件或单独运行测试之外,我还能解决这个问题吗?我正在考虑使用公共静态 int 来跟踪来自预处理量的 ID,但这听起来像一个丑陋的解决方案。
【问题讨论】:
标签: java unit-testing junit parameterized