Hi all,

first of all sorry for cross-posting, but I believe it may be of interest to
both lists. Any comments/suggestions/criticism more than welcome :)

This is an update on my project (Unit Testing for DSpace) as requested by
Mark Diggory. The information is in the wiki (with much more detail) at:

https://wiki.duraspace.org/display/DSPACE/GSOC+2010+Unit+Tests+-+Technical+documentation

NOTE: I have to spell check the page, sorry about that

About the project:

CURRENT STATUS:
- created a new module (dspace-test) to manage the unit and integration
testing
- integration of in-memory database (h2) done
- structure to run unit tests on DSpace done
- finishing unit tests in package org.dspace.content

ISSUES FOUND:
- DDL Utils was not useful as it is outdated and caused many compatibility
issues (ignoring PK's, etc)
- HSQLDB caused some issues in connection due to specific configuration,
that's why I moved to H2
- Dependency on the file system. A temporal filesystem has been created but
right now, due to limitations in the Maven 2 life cycle, it's a copy

- Due to the Maven 2 life cycle an how it relates to POM projects, I've had
to create a specific module for testing instead of integrate it in the
Assembly project (which would the ideal)
- For the same reason (Maven 2) I think the functional tests will have to be
run from Ant, based on Scott Philips work, as there is a mismatch in the
order of the required steps.

- The coupling with the database is really strong. Any plans of using an ORM
there? :)
- The "canonalization" of names caused issues with the h2 integration (and I
took too much time to detect it)

QUESTIONS:
- my solution to the file system issue is quite rudimentary, but I've not
been able to find an alternative. Any suggestions on how to improve it?
- the functional tests will have to run (most likely) in Ant. I believe
running the unit and functional tests in Maven 2 makes more sense, as they
are part of the build cycle and break the build if they fail, but I'm open
to suggestions. As a benefit, running in Ant would not require any "tricks"
with the filesystem, which can be seen as a benefit. On the other hand, it
would require DSpace to package the testing jars with the project, and these
jars would not be used later on in production.

NEXT STEPS:
- I would like to do some integration tests (as examples) before the
mid-term deadline, that way we can devote the second half to functional
testing. Any suggestions on which ones I can do?

Best regards,
Pere Villega
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to