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 <[email protected]>:

> 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 <
> [email protected]> 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 <[email protected]>:
> >
> > > 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 [email protected], 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 [email protected], and destroy all copies of this
> message and any attachments.
>

Reply via email to