我最近从NetBeans 6.7.1升级到NetBeans 6.9,我的旧JUnit测试在NetBeans编辑器中围绕import语句显示“找不到符号”错误。
所有内容都在这些单元测试中正确构建,我仍然可以运行/调试单元测试而不会出现任何问题。但是,编辑器中的自动完成对于它找不到的类根本不起作用。这使得创建新的JUnit测试变得很困难。
我可以正确地从套件中的另一个模块导入类。 Java API类也可以毫无问题地导入。这似乎是一个依赖问题,但我不知道如何解决它。
这是我正在运行的假设的NetBeans项目结构:
MyCodeSuite
- MyNetBeansModule1
- - Source Packages
- - - com.company.module1.foo
- - - - DoSomething1
- - - - DoSomethingElse1
- - - - ClassInQuestion
- - Unit Test Packages
- - - com.company.module1.foo
- - - - ClassInQuestionTest
- MyNetBeansModule2
- - Source Packages
- - - com.company.module2.foo
- - - - DoSomething2
- - - - DoSomethingElse2
ClassInQuestionTest.java:
package com.company.module1.foo;
import com.company.module1.foo.DoSomething1; // this is where the editor starts showing errors; these errors are propagated throughout the code anywhere "DoSomething1" shows up
import com.company.module2.foo.DoSomething2; // the editor doesn't complain for this one
// These imports all work correctly
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
我为新的单元测试以及现有的单元测试重复了这一点。我从com.company.module1.foo
包中导入哪个类并不重要。编辑器显示该包内和该同一模块中的任何类的错误。
另请注意,我正在使用NetBeans 6.9中的“创建JUnit测试”上下文菜单项来进行新的单元测试。这也是原始单元测试类(在NB 6.7.1下)的创建方式。
答案 0 :(得分:0)
答案 1 :(得分:0)
答案 2 :(得分:0)
答案 3 :(得分:0)
@ george-pauley,同意没有实际错误,编辑只是显示错误。
我在NB 7.0.1自由格式Java project.xml中使用以下模式:
这些都不直接支持<test-dependency>
。
我通过NB GUI修复@ stever的原始问题:项目属性==&gt; Java Sources Classpath ==&gt; Java平台,对于所有“源包文件夹”,我将我的“Java平台”设置为有效“JDK 1.6”(即使我使用的是32位JDK 7u1)。
这消除了我的JUnit“无法找到符号”错误,但是稍微混淆了我的{project} / nbproject目录。除了修改“project.xml”之外,它还创建了以下4个新文件: