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 Mon, 29 May 2017 11:38:41 GMT
Hi Gerhard

Was that mail for me? If so which testcase did you not find work that I
posted about?

Regards
LF

On Sat, May 27, 2017 at 10:31 AM, Gerhard Petracek <gpetracek@apache.org>
wrote:

> short addition:
>
> it looks like you found a portability issue in case of more complex cases
> -> can you please file a jira-ticket.
>
> fyi:
> i've pushed a demo of the approach mentioned earlier (see [1]), which
> doesn't use tricks and
> therefore it's more predictable in view of (existing and) upcoming versions
> of owb and weld.
>
> regards,
> gerhard
>
> [1]
> https://github.com/os890/javase-cdi-ds-project-template/tree/mock-
> registration-event
>
>
>
> 2017-05-23 14:15 GMT+02:00 Lars-Fredrik Smedberg <itsmeden@gmail.com>:
>
> > Hi
> >
> > interesting aproach... will play around with it and see how it works...
> >
> > regards
> > lf
> >
> > On Tue, May 23, 2017 at 2:05 PM, Gerhard Petracek <gpetracek@apache.org>
> > wrote:
> >
> > > hi lars-fredrik,
> > >
> > > you can inject diff. "sub-producers" (in your test-producer) -> you
> > > delegate to one of them (just enable one at a time e.g. based on an
> event
> > > you fire in your test).
> > > (you could even provide the sub-producer as payload of the event).
> > >
> > > regards,
> > > gerhard
> > >
> > >
> > >
> > > 2017-05-23 13:56 GMT+02:00 Lars-Fredrik Smedberg <itsmeden@gmail.com>:
> > >
> > > > 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.
> > > >
> > >
> >
> >
> >
> > --
> > 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