[ 
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

Reply via email to