使用spring整合Junit测试时报错(initializationError(org.junit.runner.manipulation.Filter))

博主使用spring4.30版本包测试时出现错误,复制错误信息查看。网上资料提及可能是@Test未加或Junit与spring版本不兼容。博主回退版本包发现需org/apache/commons/logging/LogFactory包,导入commons - logging - 1.2.jar后,从spring3.12替换到4.30版本未再出现问题,且不同版本提示情况有别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用spring4.30版本的包进行测试时,出现了如下错误信息

点击该错误信息,右键copy failure list,然后复制到记事本中查看错误信息为:

UserTest.sayHello
initializationError(org.junit.runner.manipulation.Filter)
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=sayHello], {ExactMatcher:fDisplayName=sayHello(com.zhi.tes.UserTest)], {LeadingIdentifierMatcher:fClassName=com.zhi.tes.UserTest,fLeadingIdentifier=sayHello]] from org.junit.internal.requests.ClassRequest@2032cd7f

	at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40)

	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77)

	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)

	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)

	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)

	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)

	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)

	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

测试代码:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=SpringConfig.class)
public class UserTest {
	
	@Test
	public void sayHello() {
		System.out.println("hah");
	}
}

    然后在网上查找相应资料,有说@Test没有加,也有说Junit版本与spring的版本不兼容。最后博主通过回退版本包的过程中发现,需要一个org/apache/commons/logging/LogFactory包,因此导入commons-logging-1.2.jar后,从spring3.12版本一路替换到4.30版本后,都未在出现该问题。

    需要注意的是,使用spring3.12版本测试时,没有commons-logging-1.2.jar包会提示缺少包,使用spring4.30版本测试时,不会给出提示,只有如第一张图所示的错误信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值