[ https://jira.duraspace.org/browse/DS-536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tim Donohue closed DS-536. -------------------------- Resolution: Answered Closing this old ticket, as it's now obsolete. The idea of having a Functional Test Framework for DSpace is still a good one. It's just that this old framework is no longer compatible with current DSpace, and it might be worth looking towards using a third-party solution or similar. > Functional Test Framework for DSpace > ------------------------------------ > > Key: DS-536 > URL: https://jira.duraspace.org/browse/DS-536 > Project: DSpace > Issue Type: New Feature > Reporter: Scott Phillips > Priority: Major > Attachments: DSpace-1.5.2-FunctionalTest.patch.txt, > Dspace-1.5.2-FunctionalTest-V2.patch.txt > > > The Texas Digital Library has been focusing on testability for our projects. > Since DSpace is related too or part of most of our projects we've been > looking for a way to increase DSpace's testability. Traditionally this would > mean adding unit tests and integration tests. However as DSpace currently > stands is hard to break it up into individual components that can be tested > in isolation. You'll quickly find that writing tests for DSpace pull in the > entire system, plus databases, and a file system. To address this problem > we've created a simple framework for adding both integration tests and > functional tests which improve the reliability of our projects. I'm > interested to see if this is something the greater DSpace community would be > interested in? > The goals of our project were to create a mechanism where we could run > complete functional tests. Functional tests evaluate the entire system as the > end user would use it, so think of it as opening a web browser and evaluating > the output - but completely automated. They test everything all together. > Ideal it would be better to test each component individual, but this is in > practical for DSpace for two reasons 1) DSpace is highly integrated and > nearly impossible to separate from the database and file systems, 2) Creating > unit test for all of DSpace is very time consuming it is simpler to write a > few functional tests that cover a wide set of features over the whole > application. It gets you to a point where you can reliably verify the > software quicker. If you're working on unit tests for DSpace please do not > let this stand in your way. > The main concept is to script the install of a test DSpace, with a full > configuration and setup. Then we start DSpace in an embedded webserver and > then run through several scenarios just as a normal user would. This tests > the whole application, using a database, a file system, and a full build. The > ant script where you normally run "ant fresh_install" has a new target "ant > test". You pass it a few parameters such as what database to use. The script > will then run through a fresh install of DSpace into a local /test directory, > setup some communities and collections, and import some basic items. Then > JUnit-based tests are run against the embedded webserver using HtmlUnit to > simplify verifying the HTML output. > Here is how to run it. After compiling using a "mvn package", cd into > target/dspace-*-build.dir/ directory. Then run "ant test" you may need to > pass it some parameters as listed below. Each parameter has a default so if > you configure you're database connections the same way then it can be as > simple as running "ant test" without any parameters. > -Dtest.db.driver="org.postgresql.Driver" > -Dtest.db.url="jdbc:postgresql://localhost:5432/dspacetest" > -Dtest.db.username="dspacetest" > -Dtest.db.password="dspacetest" > -Dtest.dspace.dir="./test/" > -Dtest.config="./test/config/dspace.cfg" > We've used this approach rather successfully for two of our DSpace-based > projects here at TDL: an ETD submission system called vireo, and a learning > object repository. These projects haven't moved to 1.6 yet, but I do have a > patch available for DSpace 1.5.2. Most of the test cases we've created so far > are specific to the project we're working on. However the patch includes 4 > manakin tests, which are really just an example of how tests work within this > framework. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d _______________________________________________ Dspace-devel mailing list Dspace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-devel