xyb*_*rek 103 java eclipse junit
我在Eclipse中运行JUnit测试时遇到此错误:
Class not found com.myproject.server.MyTest
java.lang.ClassNotFoundException: com.myproject.server.MyTest
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
Run Code Online (Sandbox Code Playgroud)
我尝试JUnit在类路径中添加库,虽然我正在使用maven,而JUnit库是POM依赖项.
我已经尝试清理项目并使用Eclipse的JUnit插件创建了一个新的JUnit测试用例,但仍然遇到同样的错误.
小智 105
这似乎是因为当你使用时只编译源代码mvn clean compile(我正在使用maven 3.1.0所以我不确定它是否总是表现得像这样).
如果你运行mvn test,测试代码也会编译,但它会运行测试(如果你试图通过Eclipse运行它们,可能不会立即进行测试.)解决这个问题的方法是test-compile每当添加到Maven命令序列时你做了mvn clean.例如,你会跑mvn clean compile test-compile.
slo*_*mek 96
我在测试中遇到了类似的问题并在Web中找到了某个地方,您必须在项目属性中转到Build Path并将Maven Dependencies移到JRE System Library之上.这似乎对我有用.
nhy*_*ted 19
我遇到了同样的问题,我能够使用@slomek的答案修复它,但之后问题重新浮出水面.
我最后通过将项目的输出文件夹添加到JUnit测试的运行配置来修复它.步骤是:
Project properties -> Java Build Path -> Default output folder
<project-folder>/binRun -> Run Configurations...Classpath选项卡User Entries- 即使项目已包含在那里
Advanced -> Add folder以添加输出文件夹这个问题可能是由于Eclipse中奇怪的项目设置 - 例如源文件夹,嵌套的maven项目作为单个项目/文件夹导入(至少我的项目是如何设置的).
就我而言,我有一个错误的 Maven 目录结构。
应该是这样的:
/src/test/java/ com.myproject.server.MyTest
在我解决了这个问题之后,一切都变得很神奇。
| 归档时间: |
|
| 查看次数: |
205860 次 |
| 最近记录: |