hi michael,

you can use std. cdi mechanisms like @Alternative beans for your mocks.
just add and configure them in your test-module.
or use @Exclude(exceptIfProjectStage = ProjectStage.UnitTest.class)
with that many projects could drop special mocking frameworks at all.

regards,
gerhard

http://www.irian.at

Your JSF/JavaEE powerhouse -
JavaEE Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2014-04-30 21:20 GMT+02:00 Michael Li <[email protected]>:

> Hi Gerhard,
>
> Thanks for the reply.
>
> I did try the built-in test control. However it doesn't play well with mock
> framework like "Mockito". Basically the CDI container get confused between
> a mocked bean and the real bean from my production code. I don't know how
> CDI-Unit solve the ambiguity, but the built-in test control didn't by
> default. If the built-in test control can work with mock with some
> configuration, I'd love to go with it.
>
> Michael.
>
>
> On Wed, Apr 30, 2014 at 12:08 PM, Gerhard Petracek <
> [email protected]> wrote:
>
> > hi michael,
> >
> > you could try [1] instead.
> >
> > regards,
> > gerhard
> >
> > [1] http://deltaspike.apache.org/test-control.html
> >
> >
> >
> > http://www.irian.at
> >
> > Your JSF/JavaEE powerhouse -
> > JavaEE Consulting, Development and
> > Courses in English and German
> >
> > Professional Support for Apache MyFaces
> >
> >
> > 2014-04-30 20:24 GMT+02:00 Michael Li <[email protected]>:
> >
> > > We're currently using CDI-Unit for CDI components testing. However, I
> > can't
> > > inject my data repository (interface) into my unit test classes. I am
> > > wondering if there is anything special to setup (to work with CDI-Unit)
> > or
> > > other approach to unit test repository. The exception I got is pasted
> as
> > > below.
> > >
> > >
> > > org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied
> > > dependencies for type DomainRepository with qualifiers @Default
> > >   at injection point [UnbackedAnnotatedField] @Inject
> > > com.acme.server.repository.DomainRepositoryTest.domainRepository
> > >   at
> > >
> > >
> >
> com.acme.server.repository.DomainRepositoryTest.domainRepository(DomainRepositoryTest.java:0)
> > >
> > > at
> > >
> > >
> >
> org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:368)
> > > at
> > >
> > >
> >
> org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:289)
> > > at
> > >
> >
> org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:135)
> > > at
> org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:166)
> > > at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:514)
> > > at
> > >
> > >
> >
> org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:68)
> > > at
> > >
> > >
> >
> org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:66)
> > > at
> > >
> > >
> >
> org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60)
> > > at
> > >
> > >
> >
> org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53)
> > > at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> > > at
> > >
> > >
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> > > at
> > >
> > >
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> > > at java.lang.Thread.run(Thread.java:745)
> > >
> > >
> > >
> > > Thanks.
> > >
> > > --
> > > Michael Li
> > >
> >
>
>
>
> --
> Michael Li
>

Reply via email to