eclipse中Maven构建项目时Junit测试中 无法创建测试Could not create test 'xxx' 与 @Test不可用

eclipse中Maven构建项目时Junit测试遇到 无法创建测试Could not create test 'xxx' 与 @Test不可用的问题

一、junit.framework.AssertionFailedError: Could not create test ‘xxx’ ,junit无法创建测试

错误信息如下:

junit.framework.AssertionFailedError: Could not create test 'xxx' 
	at junit.framework.Assert.fail(Assert.java:57)
	at junit.framework.TestCase.fail(TestCase.java:227)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader$1.runTest(JUnit3TestLoader.java:177)
	at junit.framework.TestCase.runBare(TestCase.java:141)
	at junit.framework.TestResult$1.protect(TestResult.java:122)
	at junit.framework.TestResult.runProtected(TestResult.java:142)
	at junit.framework.TestResult.run(TestResult.java:125)
	at junit.framework.TestCase.run(TestCase.java:129)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:131)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

原因猜想: 可能是由于运行配置或调试配置中的Test runner配置与所导入的JUnit包不匹配所造成的。
解决方法: 选中要运行的测试类 -> 右键单击 -> 选择与JUnit版本匹配的Test Runner。如下图所示:如果是JUnit3就在右边的框中选择JUnit3,若是Junit4,则选择JUnit4。
在这里插入图片描述

二、maven工程引入了junit包,但是@Test仍不可用

  1. 原因一: 默认的junit包是3.8.1,有时不能使用@Test注解,换成了别的版本比如4.9,就可以使用了,但具体原因不明。
  2. 原因二: 上述scope配置了Junit可用的位置,test表示只能在src下的test文件夹下面才可以使用。
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.9</version>
    <scope>test</scope>
</dependency>

compile:缺省值,适用于所有阶段,会随着项目一起发布。
provided:类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
runtime:运行时使用,如JDBC驱动,适用运行和测试阶段。
test:测试时使用,用于编译和运行测试代码。不会随项目发布。
system:类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
依赖范围控制哪些依赖在哪些classpath 中可用,哪些依赖包含在一个应用中
参考文章:
1.maven中scope属性-https://www.cnblogs.com/hzzll/p/6738955.html

发布了40 篇原创文章 · 获赞 16 · 访问量 8640

猜你喜欢

转载自blog.csdn.net/qq_40366738/article/details/104469115