[seam-dev] Seam 3: webbeans-logging/webbeans-logger
Dan Allen
dan.j.allen at gmail.com
Fri Jun 12 20:16:28 EDT 2009
On Mon, Jun 1, 2009 at 6:14 AM, Pete Muir <pmuir at bleepbleep.org.uk> wrote:
> What sort of unit test are you thinking of? The unit tests we do in Web
> Beans and the TCK run WB, so cause the injection to occur (do we need to
> provide a mock logger?!) - I though you used a similar thing in Seam...
>
It depends on how you define unit testing (or two what degree for a given
test). The holy grail of POJO development is that you can inject all
dependencies manually in the test setup, if you want. The more things a
class depends on, the more things you have to inject. Now, it makes perfect
since to have to inject dependencies that the class depends on to perform
the business function. But having to worry about injecting a logger just to
get the class to work seems like...well, sort of a bummer. I would prefer
that if I'm in a manual test setup configuration (outside of any bootstrap)
then I don't have to worry about injecting a logger.
Perhaps I'm just being too purist. But I still say that I should not care,
as a tester, that a class needs a logger. It should find one itself if I
don't provide it one.
Of course, with the AbstractWebBeansTestCase, a logger will be injected. I
get that.
-Dan
>
> On 29 May 2009, at 18:12, Dan Allen wrote:
>
> On Fri, May 29, 2009 at 10:00 AM, Pete Muir <pmuir at bleepbleep.org.uk>wrote:
>
>> Yeah, the split is un-obvious (esp due to naming), but we wanted a module
>> we could use inside the RI, that didn't have the producer method on it....
>>
>
> So I'm wondering, what should the standard signature of this injection be?
> Always a field injection (as opposed to a constructor injection)? What about
> access (package or private)?
>
> private @Logger Log log;
>
> The reason I ask about access (and constructor injection) is because this
> could be the one pain in the side to unit testing a bean. Package access
> just makes it easier to inject a stub. What would be interesting is if the
> field could be seeded with a stub so that the logger just works in a unit
> test.
>
> private @Logger Log log = new NoOpLogImpl();
>
> The injection would overwrite this value. Just an idea.
>
> -Dan
>
> --
> Dan Allen
> Senior Software Engineer, Red Hat | Author of Seam in Action
>
> http://mojavelinux.com
> http://mojavelinux.com/seaminaction
> http://in.relation.to/Bloggers/Dan
>
> NOTE: While I make a strong effort to keep up with my email on a daily
> basis, personal or other work matters can sometimes keep me away
> from my email. If you contact me, but don't hear back for more than a week,
> it is very likely that I am excessively backlogged or the message was
> caught in the spam filters. Please don't hesitate to resend a message if
> you feel that it did not reach my attention.
> _______________________________________________
> seam-dev mailing list
> seam-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/seam-dev
>
>
>
--
Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action
http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://in.relation.to/Bloggers/Dan
NOTE: While I make a strong effort to keep up with my email on a daily
basis, personal or other work matters can sometimes keep me away
from my email. If you contact me, but don't hear back for more than a week,
it is very likely that I am excessively backlogged or the message was
caught in the spam filters. Please don't hesitate to resend a message if
you feel that it did not reach my attention.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/seam-dev/attachments/20090612/a0d9498f/attachment.html
More information about the seam-dev
mailing list