[ 
https://issues.apache.org/jira/browse/TAP5-758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790278#action_12790278
 ] 

Paul Field commented on TAP5-758:
---------------------------------

It's possible that you need several modules to manage the dependencies properly.

For example:
tapestry-test contains EasyMock/TestNG code and general test code such as 
TapestryTestConstants
tapestry-selenium includes the selenium code (and depends on tapestry-test)

If you want to be really serious about dependencies and what you force clients 
to include (which is more important in the OSGi world), you could break the 
modules down further:
tapestry-test - generic test-related code for Tapestry
tapestry-easymock - adds easymock specific extensions for working with Tapestry
tapestry-testng - enhancements to TestNG to simplify testing Tapestry
tapestry-selenium - enhancements to Selenium to simplify testing in Tapestry

I'm not saying that module breakdown is correct, but I'm suggesting that having 
more modules at finer granularity is something to consider - remember some 
people prefer Mockito to EasyMock; some people prefer JUnit4 to TestNG; and 
finer-grain modules give more flexibility and choice.

> Move TapestryTestConstants from tapestry-test into tapestry-core, so that 
> non-selenium test code does not need to use tapestry-test
> -----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAP5-758
>                 URL: https://issues.apache.org/jira/browse/TAP5-758
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-core, tapestry-test
>    Affects Versions: 5.1.0.5
>            Reporter: Paul Field
>
> The tapestry-test module is meant to be "just a couple of base classes to 
> make it easier to build integration test suites around Selenium.".
> However, org.apache.tapestry5.internal.test.PageTesterContext  for 
> tapestry-core uses TapestryTestConstants from tapestry-test. So it seems that 
> anyone doing any kind of tests requires the tapestry-test module and so also 
> imports all the selenium dependencies.
> That dependency problem could be resolved by moving TapestryTestConstants 
> into tapestry-core.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to