deltaspike-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lars-Fredrik Smedberg <itsme...@gmail.com>
Subject Re: Question on test-control and producers
Date Tue, 23 May 2017 11:56:41 GMT
Hi Gerhard

Thanks for the hints...  I did play around some with the @Specializes
annotation and extending the existing producers and it works nice... the
limitation though is that different test cases within the same test module
(having the same classpath when run) can not have different specialized
implementations... is there a way around that except for using
@Exclude(...) as discussed earlier?

Regards
LF

On Tue, May 23, 2017 at 1:15 AM, Gerhard Petracek <gpetracek@apache.org>
wrote:

> hi lars-fredrik,
>
> in such a case it's usually enough to extend the original bean (but keep
> the extended bean in the test-classpath) + annotate it with @Specializes +
> override the producer-methods (+ don't forget to use the same annotations
> like @Produces).
> if you don't like to "couple" both beans that way, you just need the first
> @Exclude. the test-producer only needs one if you don't like to move it to
> the test-classpath.
>
> regards,
> gerhard
>
>
>
> 2017-05-22 17:19 GMT+02:00 Lars-Fredrik Smedberg <itsmeden@gmail.com>:
>
> > Hi Gerhard
> >
> > I have been playing around some with the ProjectStage to see how it
> > works.... if the archive with code being tested have a producer class
> that
> > produces beans of type A and I want to use another producer class to
> > produce beans of type A when running my unit tests does that imply that:
> >
> > - I have to annotate the production code producer class
> > with @Exclude(ifProjectStage = ProjectStage.UnitTest.class) AND
> > - The unit test producer class with @Exclude(exceptIfProjectStage =
> > ProjectStage.UnitTest.class)
> >
> > ...or is that a bad use-case for using ProjectStage (if so please push me
> > in the right direction).... if its a good use case for it does it then
> mean
> > I need to annotate all my production producer classes with
> > @Exclude(ifProjectStage = ProjectStage.UnitTest.class) to be able to
> allow
> > them to be replaced by tests?
> >
> > Regards
> > LF
> >
> >
> >
> > On Tue, May 16, 2017 at 1:33 PM, Gerhard Petracek <
> > gerhard.petracek@gmail.com> wrote:
> >
> > > hi lars-fredrik,
> > >
> > > please use simple java-mechanisms or cdi-mechanisms like events or
> > > ds-mechanisms like the project-stage to enable/disable logic in your
> > > (test-)classes.
> > > you can find simple examples e.g. at [1] + [2] or [3] + [4].
> > >
> > > ds is about keeping it simple and close to java- and cdi-mechanisms
> > (since
> > > they are enough for most cases).
> > >
> > > regards,
> > > gerhard
> > >
> > > [1]
> > > https://github.com/CDIatWork/IdeaFork/blob/master/ideafork_
> > > core/src/test/java/at/irian/cdiatwork/ideafork/test/core/
> > > InterceptorTest.java
> > > [2]
> > > https://github.com/CDIatWork/IdeaFork/blob/master/ideafork_
> > > core/src/test/java/at/irian/cdiatwork/ideafork/test/core/
> > > TestMonitoredInterceptorStrategy.java
> > > [3]
> > > https://github.com/CDIatWork/IdeaFork/blob/master/ideafork_
> > > core/src/test/java/at/irian/cdiatwork/ideafork/test/core/
> EventTest.java
> > > [4]
> > > https://github.com/CDIatWork/IdeaFork/blob/master/ideafork_
> > > core/src/test/java/at/irian/cdiatwork/ideafork/test/core/
> > > TestIdeaSavedObserver.java
> > >
> > >
> > >
> > > 2017-05-16 9:39 GMT+02:00 Lars-Fredrik Smedberg <itsmeden@gmail.com>:
> > >
> > > > Hi
> > > >
> > > > Is it possible with test-control to tell it to use a different
> producer
> > > for
> > > > a test-case (as I've seen in Weld JUnit Extensions and CDI-Unit where
> > you
> > > > either cherry pick the classes with the producer you want or with
> > > CDI-Unit
> > > > where you can specify a producer to be an alternative producer). The
> > > > samples I've seen mocks the bean being produced rather than
> > > > changing/replacing the producer itself... I also see this config in
> the
> > > > tutorial but I'm not sure what its for:
> > > >
> > > > allow_mocked_producers
> > > >
> > > > Regards
> > > > LF
> > > >
> > > > --
> > > > Med vänlig hälsning / Best regards
> > > >
> > > > Lars-Fredrik Smedberg
> > > >
> > > > STATEMENT OF CONFIDENTIALITY:
> > > > The information contained in this electronic message and any
> > > > attachments to this message are intended for the exclusive use of the
> > > > address(es) and may contain confidential or privileged information.
> If
> > > > you are not the intended recipient, please notify Lars-Fredrik
> Smedberg
> > > > immediately at itsmeden@gmail.com, and destroy all copies of this
> > > > message and any attachments.
> > > >
> > >
> >
> >
> >
> > --
> > Med vänlig hälsning / Best regards
> >
> > Lars-Fredrik Smedberg
> >
> > STATEMENT OF CONFIDENTIALITY:
> > The information contained in this electronic message and any
> > attachments to this message are intended for the exclusive use of the
> > address(es) and may contain confidential or privileged information. If
> > you are not the intended recipient, please notify Lars-Fredrik Smedberg
> > immediately at itsmeden@gmail.com, and destroy all copies of this
> > message and any attachments.
> >
>



-- 
Med vänlig hälsning / Best regards

Lars-Fredrik Smedberg

STATEMENT OF CONFIDENTIALITY:
The information contained in this electronic message and any
attachments to this message are intended for the exclusive use of the
address(es) and may contain confidential or privileged information. If
you are not the intended recipient, please notify Lars-Fredrik Smedberg
immediately at itsmeden@gmail.com, and destroy all copies of this
message and any attachments.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message