JUnit 3.x中的参数化测试用例类

Jes*_*erE 5 java junit

我有一个JUnit 3.x TestCase,我希望能够对其进行参数化。我想对整个参数TestCase(包括灯具)进行参数化。但是,该TestSuite.addTestSuite()方法不允许传递TestCase对象,只能传递一个类:

   TestSuite suite = new TestSuite("suite");
   suite.addTestSuite(MyTestCase.class);
Run Code Online (Sandbox Code Playgroud)

我希望能够将参数(字符串)传递给在测试运行时创建的MyTestCase实例。现在,我必须为每个参数值使用一个单独的类。

我尝试将其传递给任意子类:

   MyTestCase testCase = new MyTestCase() {
       String getOption() {
           return "some value";
       }
   }

   suite.addTestSuite(testCase.getClass());
Run Code Online (Sandbox Code Playgroud)

但是,这失败并带有断言:

   ... MyTestSuite$1 has no public constructor TestCase(String name) or TestCase()`
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我是否以错误的方式解决问题?

Pow*_*ord 3

如果这是 Java 5 或更高版本,您可能需要考虑切换到 JUnit 4,它支持内置的参数化测试用例。