gpt4 book ai didi

java - 使用 SpringFramework 进行 Junit 测试,不使用 Maven : Error - NoSuchMethodError

转载 作者:太空宇宙 更新时间:2023-11-04 13:49:13 24 4
gpt4 key购买 nike

我是 JUnit - Spring 框架的新手。

我正在做的是,为我的应用程序创建一些测试。这是我所做的代码。

@RunWith(SpringJUnit4ClassRunner.class)
public class InspirdTests {

@Autowired
private PlatformBLL platform;

@Autowired
private WebApplicationContext webAppContext;

@Before
public void settingUp(){
System.out.println("Before SetUp");
}

@Test
public void setUp() throws Exception{
System.out.println("Before : " + platform);
platform.getAllProjectsForPlatform(null);
System.out.println("After : " + platform);
}
}

和堆栈跟踪

java.lang.NoSuchMethodError: org.junit.runner.notification.RunNotifier.testAborted(Lorg/junit/runner/Description;Ljava/lang/Throwable;)V
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:155)
at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:61)
at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:54)
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:33)
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:45)
at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:52)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:97)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
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)

我只是被阻碍了,我被困住了,我无法前进。

我尝试过的:

  1. 谷歌了很多,但结果就是这样。
  2. 我做了一些空白的测试方法,结果还是这样。
  3. 我已将 JUnit-4.12.jar 添加到 WEB-INF/lib/
  4. 我已将 Junit 4 添加到 Java 构建路径

请大家帮我找出解决方案。

最佳答案

在 Eclipse 构建路径中包含 spring-testjunit jar。

import org.junit.After;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;


import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;


@ContextConfiguration(locations = { "classpath:/conf/applicationContext.xml"})
@RunWith(SpringJUnit4ClassRunner.class)
public class MongoRepositoryImplTest {

@Autowired
MongoRepositoryImpl mongoRepositoryImpl;

@Test
public void testGetMongoConnectionFromFactory() {
...
}
...

配置文件应如下所示:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">

<context:component-scan base-package="com.client.impl" />

<bean id="mongoRepositoryImpl" class="com.client.impl.MongoRepositoryImpl">
<constructor-arg name="connectionName" value="testCases"/>
</bean>

</beans>

关于java - 使用 SpringFramework 进行 Junit 测试,不使用 Maven : Error - NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30498087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com