Hi Francesco, I still see some benefits to extract integration tests applying to whole web application from real unit tests checking logic located only in current module. I agree that it is not urgent task at the moment, although it will make my development cycle faster even now. Do you have any concerns if I create jira for this with minor priority?
Cheers, Andrei. > -----Original Message----- > From: Francesco Chicchiriccò [mailto:ilgro...@apache.org] > Sent: Dienstag, 11. Dezember 2012 11:25 > To: dev@syncope.apache.org > Subject: Re: [DISCUSS] Re: Extract syncope system/integration tests into > separate project > > On 10/12/2012 10:40, Andrei Shakirin wrote: > > Hi Francesco, > > > > Yep, we need kind of plan to synchronize our work. > > > > I see the following order: > > 1. Merge the DEV_ROLE_PROVISIONING (Francesco) 2. Separate > persistence > > layer SYNCOPE-241, SYNCOPE-242 (Christian) 3. Extract > > integration/system tests (Andrei) 4. Merge CXF branch (Jan, Christian, > > Andrei) > > > > For (4) some work still should be done, so I see this merge in the next > > year. > > > > What do you think? > > It sounds fine, as long as we agree that (3) is a good thing for the project, > as it > happened for (1), (2) and (4) :-) > > > Regarding integration/system tests, I have some reasons to move them > into separate maven module: > > 1) Integration and system tests are normally use not the single, but > > multiple modules (in syncope soon it will be core and persistence > > modules, further even more) > > Correct, but I don't see any reason to not keep the integration tests bundled > with the module providing the REST interface. > With maven, src/test is for tests and src/main for actual source code, isn't > it? > ;-) > > > 2) Actually running integration tests takes about 3 mins, but I expect it > > will > grow in the future. For me it is a reason to separate fast JUnit tests and > integration tests to make development cycle shorter. > > It could be, but I don't see any reason for worrying about this now. > > > 3) Integration and system tests normally require specific dependencies and > logic: cargo plugin, unzip/copy web application, etc. Syncope can also be > tested with different servlet containers (tomcat, glassfish, TomEE+, etc). I > think placing this deps and logic in one project and reusing it has some > benefits. > > Syncope core can be already tested against many servlet containers and > many DBMSes (I went into more details about this in [1]). > > > 4) Separate module for systests is kind of common practice in many apache > projects: CXF, Camel, Karaf. Therefore separation can make understanding of > Syncope build process more easy for communities from other apache > projects. > > The projects you are mentioning are frameworks, and I see perfectly normal > that for testing a framework you need to build test applications; but Syncope > core is a web application, not a framework. > > > What is your opinion? > > My concerns stand still; mainly, I don't see the point of having a Maven > artifact like org.apache.syncope:syncope-core-integration-tests. > > Regards. > > [1] > http://syncope-dev.1063484.n5.nabble.com/Introducing-myself-and-a- > proposal-to-modularize-the-core-tp5711268p5711283.html > > >> -----Original Message----- > >> From: Francesco Chicchiriccò [mailto:ilgro...@apache.org] > >> Sent: Montag, 10. Dezember 2012 09:57 > >> To: dev@syncope.apache.org > >> Subject: [DISCUSS] Re: Extract syncope system/integration tests into > >> separate project > >> > >> Hi all, > >> let's try to make some order :-) > >> > >> The current situation is: > >> > >> 1. I am about to merge the DEV_ROLE_PROVISIONING branch into the > trunk > >> 2. Jan (with help from Christian) will then merge the cxf branch > >> into the trunk and also apply some refactoring (see SYNCOPE-241 and > >> SYNCOPE-242) by splitting the core module > >> > >> After (2) will have completed, we can think to discuss about > >> additional refactoring, IMO. > >> > >> > >> Now, I am not completely sure about the proposed refactoring, > >> especially after what I expect from (2): could you please give more > >> details about the benefits? > >> For example, I am not sure that moving test classes and resources in > >> separate modules (hence making such classes part of the release) is > >> necessarily a good thing. > >> > >> Regards. > >> > >> On 10/12/2012 09:41, Andrei Shakirin wrote: > >>> Hi JB, > >>> > >>> I mean just maven module, sure :) > >>> What do you prefer as a name? > >>> a) itests > >>> b) systests > >>> > >>> Cheers, > >>> Andrei. > >>> > >>>> -----Original Message----- > >>>> From: Jean-Baptiste Onofré [mailto:j...@nanthrax.net] > >>>> Sent: Sonntag, 9. Dezember 2012 20:47 > >>>> To: dev@syncope.apache.org > >>>> Subject: Re: Extract syncope system/integration tests into separate > >> project > >>>> Hi Andrei, > >>>> > >>>> by separate project, you mean a "real" project (with its own > >>>> release cycle, artifacts, svn repo, etc), or just a Maven module ? > >>>> > >>>> I don't think it's a good idea to have it in a separate "real" > >>>> project as it's coupled to the others artifacts/modules/codebase. > >>>> > >>>> But a itest Maven module it's a good think (it's what we have most > >>>> of projects, like Karaf, ServiceMix, etc). > >>>> > >>>> Regards > >>>> JB > >>>> > >>>> On 12/09/2012 07:37 PM, Andrei Shakirin wrote: > >>>>> Hi, > >>>>> > >>>>> I would suggest to extract integration and system tests into > >>>>> separate > >>>> project. From my perspective it makes management of tests and build > >>>> process more transparent and easy. Of course, JUnit tests will > >>>> stay in corresponded projects. > >>>>> Does it make sense? > >>>>> > >>>>> Cheers, > >>>>> Andrei. > > -- > Francesco Chicchiriccò > > ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member > http://people.apache.org/~ilgrosso/