Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EclipseLink/Development/Testing/Frameworks
< EclipseLink | Development | Testing
Revision as of 09:53, 4 October 2007 by James.sutherland.oracle.com (Talk | contribs) (→Introduction)
Contents
Requirements
- simple unit-testing inside Eclipse IDE environment
- support nightly test runs
- report pass/fail/ignore
- post results to EclipseLink dashboard
- compare results to 'known' good results
- must be able to run tests in the server (multiple servers)
- must be able to run tests on different databases
- must be able to run CTS nightly and publish CTS results
- each component has unique testing requirements so will need its own framework extensions (JPA, POJO, OX, JAXB, web-services)
- need to be able to run regression performance and concurrency tests
- need to be able to runs tests with spring
Current testing frameworks
legacy core / POJO
- framework: org.eclipse.testing.framework.TestCase/*/ui
- legacy framework that has been migrated to be an extension of JUnit3
- provides UI runner with useful debugging functionality (SQL, Java, session properties, cache, logging, individual test running, storage of results in result database)
- UI can also run any JUnit test, and allows JPA JUnit tests to be run and be debuggable.
- provides advanced performance and concurrency tests which rely on result database storage
- tests are fully JUnit compatible and runnable in any JUnit runner including Eclipse
- provides command line runner and ant scripts (ant scripts not currently ported to eclipselink)
- ant scripts for cross database testing (ant scripts not currently ported to eclipselink)
- provides extended functionality for accessing POJO Session, table creation/population, object comparison, transactional tests, etc.
- 1000's of existing tests, POJO, cache-coordination, remote, POJO performance, JPA performance, POJO concurrent, MW integration, sessions XML, EIS, XDB, etc.
legacy core / server
- (not currently ported to eclipselink)
- framework: oracle.toplink.testing.ejb.testframework
- extension of POJO framework for running in JEE servers
- not currently compatible with JUnit3
- command line runner, ant scripts for building, deployment, and running
- provides extended functionality for JTA transactions, JEE platform independence
- supports running of existing POJO tests inside the JEE server
- ant scripts for cross server testing, clustering
- 1000's of existing tests, CMP (not part of eclipselink), SessionBeans, BMP (not part of eclipselink), CMP performance (not part of eclipselink), JTA, resource, EIS/JCA, class-loader, clustering, stress
Issues:
- not normal JUnit3 tests
- too many tests to port to anything new
- contain functionality required for performance regression testing
- provide UI many developers are dependent on for debugging
- should not be adding any new tests for POJO API
legacy JPA
- framework: org.eclipse.testing.jpa.EntityContainerTestBase/CMP3TestModel
- extension of POJO framework for JPA tests
- compatible with JUnit3
- 100's of tests
Issues:
- not too many tests, should be port to new JPA JUnit framework
JPA JUnit
- framework: org.eclipse.testing.framework.junit.JUnitTestCase/framework.*/framework.server.*
- extension of JUnit3 for running JPA tests
- ant scripts for running tests with multiple weaving options (ant scripts not currently ported to eclipselink)
- recently extended to allow tests to run in JEE servers (not checked in yet)
- 1000's of existing tests, JPA, weaving, orm XML, SessionBean (not checked in yet)
Issues:
- tests need to be migrated to allow running in JEE server
- tests need to verify result
Oraj JUnit
- (not currently ported to eclipselink)
- framework: oracle.toplink.testing.tests.internal.ejb, oraj.jar
- extension of JUnit3 and oraj framework
- ant scripts for running tests
- cannot current run outside of ADE environment nor from IDE
- 1000's of existing tests, clone of JPA JUnit tests ported to JEE, advanced JPA, spring
Issues:
- clone of existing tests, causes major maintenance effort keeping in synch
- clone prevent news tests from being run in server
- oraj and ADE dependency
- once JPA JUnit tests are migrate to support running in server these can be removed
OXM JUnit
- framework: org.eclipse.testing.ox.OXTestCase/*
- extension of JUnit3 for running OXM tests
- ant scripts for running tests (not yet ported to eclipselink)
- 1000's of existing tests, SAX, DOM
JAXB JUnit
- framework: org.eclipse.testing.ox.jaxb
- extension of OXM tests for running JAXB tests
- ant scripts for running tests (not yet ported to eclipselink)
- 1000's of existing tests
SDO JUnit
- framework: org.eclipse.sdo.testing
- extension of JUnit3 for running SDO tests
- ant scripts for running tests (not yet ported to eclipselink)
- 1000's of existing tests
Requirements
- simple unit-testing inside Eclipse IDE environment
- support nightly test runs
- report pass/fail/ignore
- post results to EclipseLink dashboard
- compare results to 'known' good results