deltaspike-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gerhard Petracek <gpetra...@apache.org>
Subject Re: Question on test-control and producers
Date Mon, 29 May 2017 12:11:36 GMT
hi lars-fredrik,

yes - it looks like re-registration of mocks (within as well as across
test-cases) isn't portable any longer.

regards,
gerhard



2017-05-29 13:38 GMT+02:00 Lars-Fredrik Smedberg <itsmeden@gmail.com>:

> 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