Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/Development/Testing/Frameworks"
< EclipseLink | Development | Testing
(→Introduction) |
|||
Line 1: | Line 1: | ||
− | == | + | == 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 == | |
− | testing | + | |
− | + | ===legacy core / POJO=== | |
− | of existing tests. | + | * 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 == | == Requirements == |
Revision as of 09:53, 4 October 2007
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