有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

junit Java Junit4支持扩展基类

一个问题:

当我做这样的事情时:

package path.to.common.package.test;
@BeforeClass
public class CommonTestSetup {

  public void setUp() {
   // Setup Stiff
  }
}

以及同一软件包中的另一个类设置:

package path.to.common.package.test;
public class TestTest extends CommonTestSetup {
    @Test
    public void testGetTestReturnsCorrectStrings() {
    // do asserts etc
    }
}

然后在testGetTestReturnsCorrectStrings上执行JUnit测试,我得到一个错误:

org.junit.runners.model.InvalidTestClassError: Invalid test class 'org.junit.runner.manipulation.Filter':
  1. No runnable methods
    at org.junit.runners.ParentRunner.validate(ParentRunner.java:456)
    at org.junit.runners.ParentRunner.<init>(ParentRunner.java:99)
    at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:84)
    at org.junit.runners.JUnit4.<init>(JUnit4.java:23)
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:66)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:66)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:39)
    at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:80)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:71)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:46)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:523)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:761)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:461)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:207)

为什么?这是否意味着JUnit4不支持扩展基类的测试类

这背后的想法是创建一个单一的设置基类,由许多其他需要它的测试类共享。 最初,我甚至尝试将基类完全放在另一个包中,然后将其移动到同一个包中进行测试,结果得到了一个不同的错误(上面的错误)


共 (2) 个答案

  1. # 1 楼答案

    你也可以检查一下

    class classname {
      class another class{
      }
    }
    

    将一个类保存在文件中,这有助于 我也经历过类似的。。。我希望它能帮助别人;-)

  2. # 2 楼答案

    使用导入组织。朱尼特。测验 而不是导入组织。朱尼特。木星应用程序编程接口。测试