Mic*_*rov 8 java eclipse junit unit-testing junit4
我有一个JUnit4测试套件,我想在JUnit Plug-in Test运行配置下执行它.

它在通过JUnit Test配置运行时成功通过,但对于插件conf,它以不同的方式失败.
例如,如果我使用JUnit4TestAdapter它失败了ClassCastException,如果我试图仅通过@RunWith注释运行它,它会错误地"找不到方法".对于这两种实现,我JUnit4在运行配置中使用Test Runner设置.
我用
对于第一种情况,似乎Eclipse在执行套件时继续使用JUnit3版本.这里是:
@RunWith(Suite.class)
@SuiteClasses({ DndTest.class })
public class JSTestSuite {
public static Test suite() {
return new JUnit4TestAdapter(JSTestSuite.class);
}
}
Run Code Online (Sandbox Code Playgroud)
例外是:
java.lang.ClassCastException: junit.framework.JUnit4TestAdapter cannot be cast to junit.framework.Test
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.getTest(RemoteTestRunner.java:403)
Run Code Online (Sandbox Code Playgroud)
在开始测试时,我在控制台中有一条奇怪的日志消息:
!ENTRY org.eclipse.update.configurator 2017-05-04 17:58:57.279
!MESSAGE Could not install bundle ../../platform/eclipse/plugins/org.eclipse.jdt.junit4.runtime_1.1.600.v20160505-0715.jar No match is available for the required execution environment: J2SE-1.5
Run Code Online (Sandbox Code Playgroud)
我看到这个lib就在这个地方,但我无法理解为什么它无法加载.对于JUnit3Test Runner设置junit3 lib加载好了.有一些与这些问题有关的错误(比如这个)但是很难理解在这种情况下我能做些什么.
对于第二种情况,我只是尝试执行简单的JUnit4情况而不使用JUnit4TestAdapter,但它找不到任何方法.
重新加载日食和重命名方法没有帮助.在这种情况下我该怎么办?
我发现有几个问题。首先我一一考虑解决问题。
问题#1:所需执行环境没有匹配项:J2SE-1.5
问题#2: java.lang.ClassCastException:junit.framework.JUnit4TestAdapter 无法转换为 junit.framework.Test
如果您在项目中使用maven,那么您可以更改pom.xml文件,如下所示:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Run Code Online (Sandbox Code Playgroud)
资源链接: Maven“构建路径指定执行环境J2SE-1.5”,尽管我将其更改为1.7
JUnit 运行程序依赖于 JUnit 3.8。它不会被使用,但如果没有它,整个平台就无法初始化。所以你需要像下面这样的2个版本
检查您是否有以下插件
org.eclipse.xtext.xbase.junit
org.junit (3.8.2)
org.junit (4.8.2)
Run Code Online (Sandbox Code Playgroud)
在 Eclipse 中,请检查 2 个部分。
Properties->Java Build Path->Libraries (tab)Run Configurations->JUnit->Classpath (tab)要修复该错误,请确保目标平台中有 org.junit 3.8 !
所有功劳都归功于A Paul。
Aaron Digulla评论如下:
尽管 org.eclipse.xtext.junit4 导入了 org.junit 4.5.0,但 org.eclipse.xtext.junit (注意末尾缺少“4”)似乎依赖于 JUnit 3.8。添加旧的、过时的 JUnit 包后,插件测试开始。
| 归档时间: |
|
| 查看次数: |
753 次 |
| 最近记录: |