java.lang.NoSuchMethodError:
org.junit.runner.notification.RunNotifier.testAborted(Lorg/junit/
runner/Description;Ljava/lang/Throwable;)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:
155)
为控制器编写测试用例,为Spring Controller类新编写测试用例:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"file:D:/ABC/src/main/webapp/WEB-INF/
xyz-servlet.xml",
"file:D:/ABC/src/main/webapp/WEB-INF/xyzrest-servlet.xml"})
public class TestXController {
@Inject
private ApplicationContext applicationContext;
private MockHttpServletRequest request;
private MockHttpServletResponse response;
private HandlerAdapter handlerAdapter;
private XController controller;
@Test
public void setUp() {
request = new MockHttpServletRequest();
response = new MockHttpServletResponse();
handlerAdapter = applicationContext.getBean(HandlerAdapter.class);
// I could get the controller from the context here
controller = new XController();
}
@Test
public void testgoLoginPage() throws Exception {
request.setAttribute("login", "0");
final org.springframework.web.servlet.ModelAndView mav = handlerAdapter.handle(request, response, controller);
assertViewName(mav, null);
assertAndReturnModelAttributeOfType(mav, "login", null);
}
@Test
public void testgoHomePage(){
org.springframework.web.servlet.ModelAndView mav =null;
request.setAttribute("success1", "1");
request.setAttribute("success", "1");
try {
mav = handlerAdapter.handle(request, response, controller);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
assertViewName(mav, null);
assertAndReturnModelAttributeOfType(mav, "home",null);
}
任何人都可以指导我为Spring编写测试用例 控制器类,或任何代码示例链接。
谢谢&此致,Venu Gopala Reddy。
答案 0 :(得分:6)
是的,请确保您使用的是正确版本的JUnit。我认为与Spring测试JAR不匹配会迫使您使用JUnit 4.4。