Issue Details (XML | Word | Printable)

Key: MUSE-258
Type: Sub-task Sub-task
Status: Closed Closed
Resolution: Invalid
Priority: Major Major
Assignee: Dan Jemiolo
Reporter: Kam K. Yee
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Muse
MUSE-244

Flexible test infrastructure and initial set of extensible unit tests

Created: 06/Aug/07 07:50 PM   Updated: 12/Sep/07 08:51 PM
Return to search
Component/s: Other
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified

Resolution Date: 12/Sep/07 08:51 PM


 Description  « Hide
Muse-244 encompases/requests multiple functionality. This sub-task is created to facilitate tracking at a more individual, granular level. This sub-task is to track the delivery of a flexible infrastructure and initial, extensible suite of unit tests


 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Kam K. Yee made changes - 06/Aug/07 07:50 PM
Field Original Value New Value
Description Feature 244 encompases/requests multiple functionality. This sub-task is created to facilitate tracking at a more individual, granular level. This sub-task is to track the delivery of a flexible infrastructure and initial, extensible suite of unit tests
Muse-244 encompases/requests multiple functionality. This sub-task is created to facilitate tracking at a more individual, granular level. This sub-task is to track the delivery of a flexible infrastructure and initial, extensible suite of unit tests
Kam K. Yee made changes - 06/Aug/07 07:52 PM
Summary Unit tests Flexible test infrastructure and initial set of extensible unit tests
Kam K. Yee added a comment - 20/Aug/07 05:05 PM
======================================
 PROPOSED IMPLEMENTATION - HIGH LEVEL
======================================
Following are some initial thoughts/proposal for the implementation of the various tests and framework. (This proposal incorporates and adds to the input from Andrew Eberbach's previous postings and email exchanges (Thanks! Andrew).

- The unit, functional, and stress tests will be JUnit based.
- ANT scripts will be created to setup and invoke these JUnit test suites.

- Each top-level muse component (such as muse-core, muse-tools, etc.) will have a corresponding "-test" directory (muse-core-test, muse-tools-test, etc). This directory will have a structure mirroring the component it is testing (as is common practice with JUnit). Each non-trivial class will have a corresponding test suite and the test suites would be self-contained within the project. This is so that users don't have to check out several "-test" directories in order to run one (dependencies become very tedious, very quickly).
- A new target will be introduced to the build.xml to build a new archive (muse-test-unit-bin) containing only the unit test code and needed artifacts (e.g., WSDLs & XSDs).
- The identified steps for unit testing are as follows:
  1. Download or locally build muse-bin runtime archive
  2. Download or locally build muse-test-unit-bin archive
  3. Unzip muse-bin
  4. Unzip muse-test-unit-bin
  5. Run muse-bin code generation tool to generate an endpoint with all capabilities for the target container
  6. Deploy generated endpoint to the target container
  7. Startup target container with generated endpoint
  8. Invoke execution of JUnit unit test suites
- A new unit test ANT script will be created to invoke and execute the different JUnit test suites.
  Later on when full automation is introduced, the automation framework will be invoking these ANT script target to automatically execute the test suites.
- This design also allows for developers to do a sanity check by running these tests locally on their machines prior to checking code into the repository.

Finally, since modifying something simple is usually easier than generating something simple from scratch, we will create two "read only" top-level directories which would lay out a reasonable skeleton for users contributing their own junit and functional tests for top-level directories.

Kam K. Yee made changes - 12/Sep/07 08:51 PM
Status Open [ 1 ] Closed [ 6 ]
Resolution Invalid [ 6 ]
Fix Version/s 2.3.0 [ 12312359 ]