thanks,

I also thought about a package-private property-all inject() method, but then I always need to pass all arguments and null-out, even if I only want to set one property. In test class this is difficult to read (-> inject(null,null,null,value)) or I would need to provide test-internal setter delegates (e.g. inject(bla) maps to inject(null,null,null,bla)) which is kind of cumbersome.

I guess the private modifier is for safety + visibility reasons, so we shouldn't change this to default visibility. I guess I will go for setters/getters now, if I want to explicitly set props in test cases.

PageTester looks very good, but in my case I just want to test inner logic and no render results.

Igor Drobiazko schrieb:
You can provide a single package-private setter for all properties which you
can use in tests.

@Property
private Foo foo;

@Property
private Bar bar;

@Property
private Baz baz;

void inject(Foo foo, Bar bar, Baz baz){ ... }

If you test your pages with PageTester, you often don't need any setters
because the page is rendered as in production.
http://tapestry.apache.org/tapestry5/guide/unit-testing-pages.html

On Sat, Feb 14, 2009 at 12:24 AM, manuel aldana <ald...@gmx.de> wrote:

Tapestry goes for pojos which is good for testing. Further more I like the
@Property annotation which doesn't pollute my class with verbose
getters/setters.

The not so nice thing is, that when trying to test my component or page I
again end up having getters/setters. I place my tests inside the same
package as the class to be tested and private fields aren't visible there.

Why was the decision taken that fields must be private for @Property
(security reasons, so fields can't be changed directly from default
visibility -> package level)? From testing perspective this is not so nice.

--
manuel aldana
ald...@gmx.de
software-engineering blog: http://www.aldana-online.de


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org






--
manuel aldana
ald...@gmx.de
software-engineering blog: http://www.aldana-online.de


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to