java - Spring MVC Controller Test Case not working -


@runwith(springjunit4classrunner.class) @contextconfiguration(classes=basetestconfig.class) @webappconfiguration  public class bookdetailscontrollertestcase {  private mockmvc mockmvc;  @autowired private webapplicationcontext wac;  /**  *   */ private bookdetailscontroller fixture = new bookdetailscontroller();   public bookdetailscontroller getfixture() {     return fixture; }  public void setfixture(bookdetailscontroller fixture) {     this.fixture = fixture; }  /**  * @throws java.lang.exception  */ @beforeclass public static void setupbeforeclass() throws exception { }  /**  * @throws java.lang.exception  */ @afterclass public static void teardownafterclass() throws exception { }  /**  * @throws java.lang.exception  */ @before public void setup() throws exception {     mockmvc = mockmvcbuilders.webappcontextsetup(this.wac).build(); }  /**  * @throws java.lang.exception  */ @after public void teardown() throws exception { }  @test public void testgetbookdetails() {     fail("not yet implemented"); } 

}

this test case getbookdetails method of book details controller. however, getting following error trace.

   caught exception while allowing testexecutionlistener    [org.springframework.test.context.web.servlettestexecutionlistener@58e34201] prepare test instance [com.sapestore.controller.test.bookdetailscontrollertestcase@30027d3e] java.lang.illegalstateexception: failed load applicationcontext     @ org.springframework.test.context.cacheawarecontextloaderdelegate.loadcontext(cacheawarecontextloaderdelegate.java:99)     @ org.springframework.test.context.defaulttestcontext.getapplicationcontext(defaulttestcontext.java:101)     @ org.springframework.test.context.web.servlettestexecutionlistener.setuprequestcontextifnecessary(servlettestexecutionlistener.java:161)     @ org.springframework.test.context.web.servlettestexecutionlistener.preparetestinstance(servlettestexecutionlistener.java:101)     @ org.springframework.test.context.testcontextmanager.preparetestinstance(testcontextmanager.java:331)     @ org.springframework.test.context.junit4.springjunit4classrunner.createtest(springjunit4classrunner.java:213)     @ org.springframework.test.context.junit4.springjunit4classrunner$1.runreflectivecall(springjunit4classrunner.java:290)     @ org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:12)     @ org.springframework.test.context.junit4.springjunit4classrunner.methodblock(springjunit4classrunner.java:292)     @ org.springframework.test.context.junit4.springjunit4classrunner.runchild(springjunit4classrunner.java:233)     @ org.springframework.test.context.junit4.springjunit4classrunner.runchild(springjunit4classrunner.java:87)     @ org.junit.runners.parentrunner$3.run(parentrunner.java:238)     @ org.junit.runners.parentrunner$1.schedule(parentrunner.java:63)     @ org.junit.runners.parentrunner.runchildren(parentrunner.java:236)     @ org.junit.runners.parentrunner.access$000(parentrunner.java:53)     @ org.junit.runners.parentrunner$2.evaluate(parentrunner.java:229)     @ org.junit.internal.runners.statements.runbefores.evaluate(runbefores.java:26)     @ org.springframework.test.context.junit4.statements.runbeforetestclasscallbacks.evaluate(runbeforetestclasscallbacks.java:61)     @ org.junit.internal.runners.statements.runafters.evaluate(runafters.java:27)     @ org.springframework.test.context.junit4.statements.runaftertestclasscallbacks.evaluate(runaftertestclasscallbacks.java:71)     @ org.junit.runners.parentrunner.run(parentrunner.java:309)     @ org.springframework.test.context.junit4.springjunit4classrunner.run(springjunit4classrunner.java:176)     @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:50)     @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:459)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:675)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:382)     @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:192) caused by: org.springframework.beans.factory.beancreationexception: error creating bean name 'accountcontroller': injection of autowired dependencies failed; nested exception org.springframework.beans.factory.beancreationexception: not autowire field: private com.sapestore.service.accountservice com.sapestore.controller.accountcontroller.accountservice; nested exception org.springframework.beans.factory.nosuchbeandefinitionexception: no qualifying bean of type [com.sapestore.service.accountservice] found dependency: expected @ least 1 bean qualifies autowire candidate dependency. dependency annotations: {@org.springframework.beans.factory.annotation.autowired(required=true)}     @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor.postprocesspropertyvalues(autowiredannotationbeanpostprocessor.java:292)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.populatebean(abstractautowirecapablebeanfactory.java:1185)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:537)     @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:475)     @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:304)     @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:228)     @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:300)     @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:195)     @ org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:703)     @ org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:760)     @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:482)     @ org.springframework.test.context.web.abstractgenericwebcontextloader.loadcontext(abstractgenericwebcontextloader.java:132)     @ org.springframework.test.context.web.abstractgenericwebcontextloader.loadcontext(abstractgenericwebcontextloader.java:59)     @ org.springframework.test.context.support.abstractdelegatingsmartcontextloader.delegateloading(abstractdelegatingsmartcontextloader.java:100)     @ org.springframework.test.context.support.abstractdelegatingsmartcontextloader.loadcontext(abstractdelegatingsmartcontextloader.java:250)     @ org.springframework.test.context.cacheawarecontextloaderdelegate.loadcontextinternal(cacheawarecontextloaderdelegate.java:64)     @ org.springframework.test.context.cacheawarecontextloaderdelegate.loadcontext(cacheawarecontextloaderdelegate.java:91)     ... 27 more caused by: org.springframework.beans.factory.beancreationexception: not autowire field: private com.sapestore.service.accountservice com.sapestore.controller.accountcontroller.accountservice; nested exception org.springframework.beans.factory.nosuchbeandefinitionexception: no qualifying bean of type [com.sapestore.service.accountservice] found dependency: expected @ least 1 bean qualifies autowire candidate dependency. dependency annotations: {@org.springframework.beans.factory.annotation.autowired(required=true)}     @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor$autowiredfieldelement.inject(autowiredannotationbeanpostprocessor.java:508)     @ org.springframework.beans.factory.annotation.injectionmetadata.inject(injectionmetadata.java:87)     @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor.postprocesspropertyvalues(autowiredannotationbeanpostprocessor.java:289)     ... 43 more caused by: org.springframework.beans.factory.nosuchbeandefinitionexception: no qualifying bean of type [com.sapestore.service.accountservice] found dependency: expected @ least 1 bean qualifies autowire candidate dependency. dependency annotations: {@org.springframework.beans.factory.annotation.autowired(required=true)}     @ org.springframework.beans.factory.support.defaultlistablebeanfactory.raisenosuchbeandefinitionexception(defaultlistablebeanfactory.java:1103)     @ org.springframework.beans.factory.support.defaultlistablebeanfactory.doresolvedependency(defaultlistablebeanfactory.java:963)     @ org.springframework.beans.factory.support.defaultlistablebeanfactory.resolvedependency(defaultlistablebeanfactory.java:858)     @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor$autowiredfieldelement.inject(autowiredannotationbeanpostprocessor.java:480)     ... 45 more 

this folder structure

/webapp/web_inf/application-context.xml

/src/test/resources/test-application-context.xml

package com.sapestore.controller.test;  import org.springframework.context.annotation.bean; import org.springframework.context.annotation.componentscan; import org.springframework.context.annotation.configuration; import org.springframework.web.servlet.config.annotation.enablewebmvc; import org.springframework.web.servlet.view.internalresourceviewresolver;  @configuration @componentscan("com.sapestore") @enablewebmvc public class basetestconfig {  @bean public internalresourceviewresolver setupviewresolver() {     internalresourceviewresolver resolver = new internalresourceviewresolver();     resolver.setprefix("/");     resolver.setsuffix(".jsp");     return resolver; }   } 

this basetestconfig.java file

please me run test case!

the stacktrace says spring trys instantiate accountservice. service seems dependency accountcontroller. spring don't find cann bound dependency in controller. have anntotated service correctly spring can identify class spring bean (for more information read reference: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-stereotype-annotations).

if service annotated correctly , it's still not working, can provide code controller , service?


Comments

Popular posts from this blog

php - Submit Form Data without Reloading page -

linux - Rails running on virtual machine in Windows -

php - $params->set Array between square bracket -