尝试访问公共类

时间:2017-03-22 06:53:10

标签: java eclipse junit4

我的工作区中有两个项目使用Eclipse KeplerAdapter(包含包适配器)和TestCases(包含包测试)我创建的包含JUnit个测试用例的项目适用于Adapter中的课程。我使用不同的项目,因为我被告知这样做,所以我无法将测试包移动到与被测试类相同的项目中。

这里是Config.java结构

package adapter;

public class Config {
    //...
}

这里是TestSuite.java结构

package tests;

import adapter.Config;

@RunWith(Suite.class)
@Suite.SuiteClasses({
    // class files of the test cases
})

public class TestSuite {
    //...
    @BeforeClass
    public static void main setUp() {
         //...
         Config.parse();
         //...
    }
}

我在Adapter构建路径中包含了TestCases'项目,但是当我尝试运行TestSuite.java时,它失败了,这就是故障跟踪:

java.lang.IllegalAccessError: tried to access class adapter.Config from class tests.TestSuite
    at tests.TestSuite.setUp(TestSuite.java:65)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

在此之前,我遇到了无法导入adapter.config的问题,因为Eclipse声称它不可见。我搜索了一段时间,修复了它重新导入我TestCases中包含的所有罐子的原因。但现在我遇到了这个问题,我似乎无法找到解决方案。

之前没有这样做,所以我认为运行时类可能与当前类不同。根本没有编译错误。我不确定我是否做得对,但我删除了所有类文件,让Eclipse通过保存每个文件重新编译所有内容,但同样的问题仍然存在。我不知道还应该检查什么。

0 个答案:

没有答案