One thing comes to mind: I use Spring and the service in question is a
Spring service injected with Tapestry's @Inject. Would that get in the way
of Tapestry tests?
Regards,
Julien.

2011/7/16 Julien Martin <[email protected]>

> I changed to that. I still get the same exception about the service i.e. *
> Error obtaining injected value for field
> com.cheetah.web.pages.ConfirmationPage.cheetahService: No service implements
> the interface com.cheetah.service.CheetahService.
> *
> What puzzles me is that the app works when I use the browser but the test
> fails with the above exception...
> I am sure I must have misconfigured the test environment.
>
> Julien.
>
> 2011/7/16 Igor Drobiazko <[email protected]>
>
>> Usually src/main/webapp
>>
>> On Sat, Jul 16, 2011 at 5:50 PM, Julien Martin <[email protected]> wrote:
>>
>> > Hello Igor,
>> > Thanks. Where should it point to then bearing in mind I use Maven?
>> > Regards,
>> > Julien.
>> >
>> > 2011/7/16 Igor Drobiazko <[email protected]>
>> >
>> > > Not sure why your service is not bund but your context path
>> src/main/java
>> > > is
>> > > wrong.
>> > >
>> > > On Sat, Jul 16, 2011 at 5:11 PM, Julien Martin <[email protected]>
>> wrote:
>> > >
>> > > > Hello,
>> > > > I have an issue with a unit test in Tapestry. It seems Tapestry is
>> not
>> > > able
>> > > > to find a service when I run the unit tests whereas there are no
>> > problems
>> > > > when I run the application from the browser. What have I
>> misconfigured?
>> > > > Thanks in advance,
>> > > > Julien.
>> > > >
>> > > > Here is the unit test:
>> > > > *
>> > > >    @Test
>> > > >    public void test1() {
>> > > >        String appPackage = "com.cheetah.web";
>> > > >        String appName = "app";
>> > > >        PageTester tester = new PageTester(appPackage, appName,
>> > > > "src/main/java");
>> > > >        Document doc = tester.renderPage("CreateJobPosting");
>> > > >        Element createJobPostingForm =
>> > > > doc.getElementById("createJobPostingForm");
>> > > >        Map<String, String> fieldValues = new HashMap<String,
>> String>();
>> > > >        fieldValues.put("jobPostingTitle", "Développeur
>> > > > java/Tapestry/Junit");
>> > > >        fieldValues.put("jobPostingBody", "Poste de de développeur
>> > > agile/XP
>> > > > qui travaillera en TDD exclusivement");
>> > > >        Document docFromForm =
>> tester.submitForm(createJobPostingForm,
>> > > > fieldValues);
>> > > >        assertTrue(docFromForm.toString().contains("TDD
>> > exclusivement"));
>> > > >    }*
>> > > >
>> > > >
>> > > >
>> > > > Here is the stack trace:
>> > > > SLF4J: Class path contains multiple SLF4J bindings.
>> > > > SLF4J: Found binding in
>> > > >
>> > > >
>> > >
>> >
>> [jar:file:/home/julien/.m2/repository/org/slf4j/slf4j-simple/1.5.8/slf4j-simple-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>> > > > SLF4J: Found binding in
>> > > >
>> > > >
>> > >
>> >
>> [jar:file:/home/julien/.m2/repository/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>> > > > SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
>> > > > explanation.
>> > > > 127 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding
>> > module
>> > > > definition for class
>> > org.apache.tapestry5.ioc.services.TapestryIOCModule
>> > > > 421 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding
>> > module
>> > > > definition for class
>> > > org.apache.tapestry5.beanvalidator.BeanValidatorModule
>> > > > 438 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding
>> > module
>> > > > definition for class org.apache.tapestry5.spring.SpringModule
>> > > > 927 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding
>> > module
>> > > > definition for class org.apache.tapestry5.services.TapestryModule
>> > > > 1226 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding
>> > module
>> > > > definition for class
>> > > org.apache.tapestry5.internal.services.InternalModule
>> > > > 1294 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding
>> > module
>> > > > definition for class com.cheetah.web.services.AppModule
>> > > > 1307 [main] INFO org.apache.tapestry5.ioc.RegistryBuilder - Adding
>> > module
>> > > > definition for class
>> > org.apache.tapestry5.internal.test.PageTesterModule
>> > > > 2878 [main] INFO
>> > > > org.apache.tapestry5.services.TapestryModule.ComponentClassResolver
>> -
>> > > > Available pages:
>> > > >              (blank): com.cheetah.web.pages.CreateJobPostingTests
>> > > >     ConfirmationPage: com.cheetah.web.pages.ConfirmationPage
>> > > >     CreateJobPosting: com.cheetah.web.pages.CreateJobPosting
>> > > > CreateJobPostingTests: com.cheetah.web.pages.CreateJobPostingTests
>> > > >      ExceptionReport:
>> > org.apache.tapestry5.corelib.pages.ExceptionReport
>> > > >     JobPostingsTable: com.cheetah.web.pages.JobPostingsTable
>> > > > PropertyDisplayBlocks:
>> > > > org.apache.tapestry5.corelib.pages.PropertyDisplayBlocks
>> > > >   PropertyEditBlocks:
>> > > org.apache.tapestry5.corelib.pages.PropertyEditBlocks
>> > > >        ServiceStatus:
>> org.apache.tapestry5.corelib.pages.ServiceStatus
>> > > >
>> > > > 2882 [main] INFO
>> > > > org.apache.tapestry5.services.TapestryModule.ComponentClassResolver
>> -
>> > > > Available components:
>> > > >        ActionLink:
>> org.apache.tapestry5.corelib.components.ActionLink
>> > > >        AddRowLink:
>> org.apache.tapestry5.corelib.components.AddRowLink
>> > > >      AjaxFormLoop:
>> org.apache.tapestry5.corelib.components.AjaxFormLoop
>> > > >               Any: org.apache.tapestry5.corelib.components.Any
>> > > >       BeanDisplay:
>> org.apache.tapestry5.corelib.components.BeanDisplay
>> > > >      BeanEditForm:
>> org.apache.tapestry5.corelib.components.BeanEditForm
>> > > >        BeanEditor:
>> org.apache.tapestry5.corelib.components.BeanEditor
>> > > >          Checkbox: org.apache.tapestry5.corelib.components.Checkbox
>> > > >         DateField: org.apache.tapestry5.corelib.components.DateField
>> > > >          Delegate: org.apache.tapestry5.corelib.components.Delegate
>> > > >             Error: org.apache.tapestry5.corelib.components.Error
>> > > >            Errors: org.apache.tapestry5.corelib.components.Errors
>> > > >         EventLink: org.apache.tapestry5.corelib.components.EventLink
>> > > >  ExceptionDisplay:
>> > > org.apache.tapestry5.corelib.components.ExceptionDisplay
>> > > >              Form: org.apache.tapestry5.corelib.components.Form
>> > > >      FormFragment:
>> org.apache.tapestry5.corelib.components.FormFragment
>> > > >      FormInjector:
>> org.apache.tapestry5.corelib.components.FormInjector
>> > > >              Grid: org.apache.tapestry5.corelib.components.Grid
>> > > >          GridCell: org.apache.tapestry5.corelib.components.GridCell
>> > > >       GridColumns:
>> org.apache.tapestry5.corelib.components.GridColumns
>> > > >         GridPager: org.apache.tapestry5.corelib.components.GridPager
>> > > >          GridRows: org.apache.tapestry5.corelib.components.GridRows
>> > > >            Hidden: org.apache.tapestry5.corelib.components.Hidden
>> > > >                If: org.apache.tapestry5.corelib.components.If
>> > > >             Label: org.apache.tapestry5.corelib.components.Label
>> > > >            Layout: com.cheetah.web.components.Layout
>> > > >        LinkSubmit:
>> org.apache.tapestry5.corelib.components.LinkSubmit
>> > > >              Loop: org.apache.tapestry5.corelib.components.Loop
>> > > >            Output: org.apache.tapestry5.corelib.components.Output
>> > > >         OutputRaw: org.apache.tapestry5.corelib.components.OutputRaw
>> > > >          PageLink: org.apache.tapestry5.corelib.components.PageLink
>> > > >           Palette: org.apache.tapestry5.corelib.components.Palette
>> > > >     PasswordField:
>> > org.apache.tapestry5.corelib.components.PasswordField
>> > > > ProgressiveDisplay:
>> > > > org.apache.tapestry5.corelib.components.ProgressiveDisplay
>> > > >   PropertyDisplay:
>> > > org.apache.tapestry5.corelib.components.PropertyDisplay
>> > > >    PropertyEditor:
>> > org.apache.tapestry5.corelib.components.PropertyEditor
>> > > >             Radio: org.apache.tapestry5.corelib.components.Radio
>> > > >        RadioGroup:
>> org.apache.tapestry5.corelib.components.RadioGroup
>> > > >     RemoveRowLink:
>> > org.apache.tapestry5.corelib.components.RemoveRowLink
>> > > >      RenderObject:
>> org.apache.tapestry5.corelib.components.RenderObject
>> > > >            Select: org.apache.tapestry5.corelib.components.Select
>> > > >            Submit: org.apache.tapestry5.corelib.components.Submit
>> > > >    SubmitNotifier:
>> > org.apache.tapestry5.corelib.components.SubmitNotifier
>> > > >          TextArea: org.apache.tapestry5.corelib.components.TextArea
>> > > >         TextField: org.apache.tapestry5.corelib.components.TextField
>> > > >        TextOutput:
>> org.apache.tapestry5.corelib.components.TextOutput
>> > > >           Trigger: org.apache.tapestry5.corelib.components.Trigger
>> > > >            Unless: org.apache.tapestry5.corelib.components.Unless
>> > > >              Zone: org.apache.tapestry5.corelib.components.Zone
>> > > >
>> > > > 2893 [main] INFO
>> > > > org.apache.tapestry5.services.TapestryModule.ComponentClassResolver
>> -
>> > > > Available mixins:
>> > > >      Autocomplete: org.apache.tapestry5.corelib.mixins.Autocomplete
>> > > >       DiscardBody: org.apache.tapestry5.corelib.mixins.DiscardBody
>> > > >          NotEmpty: org.apache.tapestry5.corelib.mixins.NotEmpty
>> > > >    RenderClientId:
>> org.apache.tapestry5.corelib.mixins.RenderClientId
>> > > >    RenderDisabled:
>> org.apache.tapestry5.corelib.mixins.RenderDisabled
>> > > >   RenderInformals:
>> org.apache.tapestry5.corelib.mixins.RenderInformals
>> > > > RenderNotification:
>> > > org.apache.tapestry5.corelib.mixins.RenderNotification
>> > > >   TriggerFragment:
>> org.apache.tapestry5.corelib.mixins.TriggerFragment
>> > > >
>> > > > 5957 [main] ERROR org.apache.tapestry5.ioc.Registry -* Error
>> obtaining
>> > > > injected value for field
>> > > > com.cheetah.web.pages.ConfirmationPage.cheetahService: No service
>> > > > implements
>> > > > the interface com.cheetah.service.CheetahService.*
>> > > > 5957 [main] ERROR org.apache.tapestry5.ioc.Registry - Operations
>> trace:
>> > > > 5958 [main] ERROR org.apache.tapestry5.ioc.Registry - [ 1]
>> Constructing
>> > > > instance of page class com.cheetah.web.pages.CreateJobPosting
>> > > > 5958 [main] ERROR org.apache.tapestry5.ioc.Registry - [ 2]
>> Assembling
>> > > root
>> > > > component for page CreateJobPosting
>> > > > 5958 [main] ERROR org.apache.tapestry5.ioc.Registry - [ 3]
>> Transforming
>> > > > component class com.cheetah.web.pages.ConfirmationPage
>> > > > 5959 [main] ERROR org.apache.tapestry5.ioc.Registry - [ 4] Injecting
>> > > field
>> > > > cheetahService
>> > > > 5973 [main] ERROR
>> > > > org.apache.tapestry5.services.TapestryModule.RequestExceptionHandler
>> -
>> > > > Processing of request failed with uncaught exception: Exception
>> > > assembling
>> > > > root component of page CreateJobPosting: Could not convert
>> 'jobPosting'
>> > > > into
>> > > > a component parameter binding: Exception generating conduit for
>> > > expression
>> > > > 'jobPosting': java.lang.NoClassDefFoundError:
>> > > > com/cheetah/web/pages/ConfirmationPage
>> > > > java.lang.RuntimeException: Exception assembling root component of
>> page
>> > > > CreateJobPosting: Could not convert 'jobPosting' into a component
>> > > parameter
>> > > > binding: Exception generating conduit for expression 'jobPosting':
>> > > > java.lang.NoClassDefFoundError:
>> com/cheetah/web/pages/ConfirmationPage
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.performAssembleRootComponent(ComponentAssemblerImpl.java:124)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.access$000(ComponentAssemblerImpl.java:38)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:82)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:79)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.assembleRootComponent(ComponentAssemblerImpl.java:77)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:182)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:174)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1063)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:173)
>> > > >    at $PageLoader_1313378ed91.loadPage($PageLoader_1313378ed91.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:81)
>> > > >    at $PageSource_1313378ed90.getPage($PageSource_1313378ed90.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.NonPoolingRequestPageCacheImpl.get(NonPoolingRequestPageCacheImpl.java:74)
>> > > >    at
>> > > $RequestPageCache_1313378ed8f.get($RequestPageCache_1313378ed8f.java)
>> > > >    at
>> > > $RequestPageCache_1313378ed89.get($RequestPageCache_1313378ed89.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:55)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2326)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> $PageRenderRequestHandler_1313378ed8d.handle($PageRenderRequestHandler_1313378ed8d.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> $PageRenderRequestHandler_1313378ed87.handle($PageRenderRequestHandler_1313378ed87.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> $ComponentRequestHandler_1313378ed88.handlePageRender($ComponentRequestHandler_1313378ed88.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> $ComponentRequestHandler_1313378ed67.handlePageRender($ComponentRequestHandler_1313378ed67.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
>> > > >    at $Dispatcher_1313378ed69.dispatch($Dispatcher_1313378ed69.java)
>> > > >    at $Dispatcher_1313378ed61.dispatch($Dispatcher_1313378ed61.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:321)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
>> > > >    at
>> > > $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:984)
>> > > >    at
>> > > $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974)
>> > > >    at
>> > > $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
>> > > >    at
>> > > $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.test.EndOfRequestCleanupFilter.service(EndOfRequestCleanupFilter.java:42)
>> > > >    at
>> > > $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
>> > > >    at
>> > > $RequestHandler_1313378ed63.service($RequestHandler_1313378ed63.java)
>> > > >    at
>> > > $RequestHandler_1313378ed52.service($RequestHandler_1313378ed52.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.test.PageTester.renderPageAndReturnResponse(PageTester.java:209)
>> > > >    at
>> > > org.apache.tapestry5.test.PageTester.renderPage(PageTester.java:179)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> com.cheetah.web.pages.CreateJobPostingTests.test1(CreateJobPostingTests.java:27)
>> > > >    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > >    at java.lang.reflect.Method.invoke(Method.java:616)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
>> > > >    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>> > > >    at
>> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>> > > >    at
>> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>> > > >    at
>> org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>> > > >    at
>> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>> > > >    at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>> > > >    at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:71)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:199)
>> > > >    at
>> > > >
>> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:62)
>> > > >    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > >    at java.lang.reflect.Method.invoke(Method.java:616)
>> > > >    at
>> > > com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
>> > > > Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException:
>> > > Could
>> > > > not convert 'jobPosting' into a component parameter binding:
>> Exception
>> > > > generating conduit for expression 'jobPosting':
>> > > > java.lang.NoClassDefFoundError:
>> com/cheetah/web/pages/ConfirmationPage
>> > > [at
>> > > > classpath:com/cheetah/web/pages/CreateJobPosting.tml, line 3]
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:82)
>> > > >    at
>> > > >
>> $BindingSource_1313378eda6.newBinding($BindingSource_1313378eda6.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PageElementFactoryImpl.newBinding(PageElementFactoryImpl.java:184)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> $PageElementFactory_1313378ed9d.newBinding($PageElementFactory_1313378ed9d.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.pageload.PageLoaderImpl$12.execute(PageLoaderImpl.java:859)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.runActions(ComponentAssemblerImpl.java:217)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.performAssembleRootComponent(ComponentAssemblerImpl.java:103)
>> > > >    ... 76 more
>> > > > Caused by:
>> > > > org.apache.tapestry5.internal.services.PropertyExpressionException:
>> > > > Exception generating conduit for expression 'jobPosting':
>> > > > java.lang.NoClassDefFoundError:
>> com/cheetah/web/pages/ConfirmationPage
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1325)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1208)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> $PropertyConduitSource_1313378ee09.create($PropertyConduitSource_1313378ee09.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49)
>> > > >    at
>> > > >
>> > $BindingFactory_1313378ee0a.newBinding($BindingFactory_1313378ee0a.java)
>> > > >    at
>> > > >
>> > $BindingFactory_1313378ee01.newBinding($BindingFactory_1313378ee01.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:78)
>> > > >    ... 82 more
>> > > > Caused by: java.lang.RuntimeException:
>> java.lang.NoClassDefFoundError:
>> > > > com/cheetah/web/pages/ConfirmationPage
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.services.PropertyAccessImpl.buildAdapter(PropertyAccessImpl.java:103)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.services.PropertyAccessImpl.getAdapter(PropertyAccessImpl.java:68)
>> > > >    at
>> > > >
>> > $PropertyAccess_1313378ed59.getAdapter($PropertyAccess_1313378ed59.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.infoForPropertyOrPublicField(PropertyConduitSourceImpl.java:1028)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.infoForMember(PropertyConduitSourceImpl.java:1021)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createGetterAndSetter(PropertyConduitSourceImpl.java:451)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createAccessors(PropertyConduitSourceImpl.java:435)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl$PropertyConduitBuilder.createInstance(PropertyConduitSourceImpl.java:290)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1321)
>> > > >    ... 88 more
>> > > > Caused by: java.lang.NoClassDefFoundError:
>> > > > com/cheetah/web/pages/ConfirmationPage
>> > > >    at java.lang.Class.getDeclaredMethods0(Native Method)
>> > > >    at java.lang.Class.privateGetDeclaredMethods(Class.java:2444)
>> > > >    at java.lang.Class.getDeclaredMethods(Class.java:1808)
>> > > >    at java.beans.Introspector$1.run(Introspector.java:1324)
>> > > >    at java.security.AccessController.doPrivileged(Native Method)
>> > > >    at
>> > > >
>> > java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1322)
>> > > >    at
>> > java.beans.Introspector.getTargetMethodInfo(Introspector.java:1188)
>> > > >    at java.beans.Introspector.getBeanInfo(Introspector.java:423)
>> > > >    at java.beans.Introspector.getBeanInfo(Introspector.java:189)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.services.PropertyAccessImpl.buildAdapter(PropertyAccessImpl.java:87)
>> > > >    ... 96 more
>> > > > Caused by: java.lang.ClassNotFoundException: caught an exception
>> while
>> > > > obtaining a class file for com.cheetah.web.pages.ConfirmationPage
>> > > >    at javassist.Loader.findClass(Loader.java:359)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$PackageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:102)
>> > > >    at javassist.Loader.loadClass(Loader.java:311)
>> > > >    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
>> > > >    ... 106 more
>> > > > Caused by:
>> > > org.apache.tapestry5.internal.services.TransformationException:
>> > > > Error obtaining injected value for field
>> > > > com.cheetah.web.pages.ConfirmationPage.cheetahService: No service
>> > > > implements
>> > > > the interface com.cheetah.service.CheetahService.
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.ComponentClassTransformerImpl$1.run(ComponentClassTransformerImpl.java:208)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:50)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:47)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:46)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:56)
>> > > >    at
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1058)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.ComponentClassTransformerImpl.transformComponentClass(ComponentClassTransformerImpl.java:119)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> $ComponentClassTransformer_1313378ed78.transformComponentClass($ComponentClassTransformer_1313378ed78.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.onLoad(ComponentInstantiatorSourceImpl.java:212)
>> > > >    at javassist.Loader.findClass(Loader.java:340)
>> > > >    ... 109 more
>> > > > Caused by: org.apache.tapestry5.ioc.internal.OperationException:
>> Error
>> > > > obtaining injected value for field
>> > > > com.cheetah.web.pages.ConfirmationPage.cheetahService: No service
>> > > > implements
>> > > > the interface com.cheetah.service.CheetahService.
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:102)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:69)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:46)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:56)
>> > > >    at
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1058)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.transform.InjectWorker.transform(InjectWorker.java:54)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> $ComponentClassTransformWorker_1313378edb0.transform($ComponentClassTransformWorker_1313378edb0.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> $ComponentClassTransformWorker_1313378eda1.transform($ComponentClassTransformWorker_1313378eda1.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.ComponentClassTransformerImpl$1.run(ComponentClassTransformerImpl.java:202)
>> > > >    ... 119 more
>> > > > Caused by: java.lang.RuntimeException: Error obtaining injected
>> value
>> > for
>> > > > field com.cheetah.web.pages.ConfirmationPage.cheetahService: No
>> service
>> > > > implements the interface com.cheetah.service.CheetahService.
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.transform.InjectWorker$1.run(InjectWorker.java:75)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:50)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:47)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>> > > >    ... 126 more
>> > > > Caused by: java.lang.RuntimeException: No service implements the
>> > > interface
>> > > > com.cheetah.service.CheetahService.
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:670)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:45)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.services.ServiceInjectionProvider.provideInjection(ServiceInjectionProvider.java:40)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> $InjectionProvider_1313378edba.provideInjection($InjectionProvider_1313378edba.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> $InjectionProvider_1313378eda7.provideInjection($InjectionProvider_1313378eda7.java)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.internal.transform.InjectWorker$1.run(InjectWorker.java:67)
>> > > >    ... 129 more
>> > > >
>> > > > java.lang.NullPointerException
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.test.PageTester.validateElementName(PageTester.java:286)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.apache.tapestry5.test.PageTester.submitFormAndReturnResponse(PageTester.java:421)
>> > > >    at
>> > > org.apache.tapestry5.test.PageTester.submitForm(PageTester.java:399)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> com.cheetah.web.pages.CreateJobPostingTests.test1(CreateJobPostingTests.java:32)
>> > > >    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
>> > > >    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>> > > >    at
>> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>> > > >    at
>> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>> > > >    at
>> org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>> > > >    at
>> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>> > > >    at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>> > > >    at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:71)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:199)
>> > > >    at
>> > > >
>> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:62)
>> > > >    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> > > >    at
>> > > >
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > >    at
>> > > com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
>> > > >
>> > > >
>> > > > Process finished with exit code 255
>> > > >
>> > >
>> > >
>> > >
>> > > --
>> > > Best regards,
>> > >
>> > > Igor Drobiazko
>> > > http://tapestry5.de
>> > >
>> >
>>
>>
>>
>> --
>> Best regards,
>>
>> Igor Drobiazko
>> http://tapestry5.de
>>
>
>

Reply via email to