You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by Apache Wiki <wi...@apache.org> on 2006/10/04 23:24:53 UTC
[Db-derby Wiki] Update of "DerbyJunitTestConfiguration" by DanDebrunner
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Db-derby Wiki" for change notification.
The following page has been changed by DanDebrunner:
http://wiki.apache.org/db-derby/DerbyJunitTestConfiguration
------------------------------------------------------------------------------
= Test Configurations =
This is about test configurations in a pure JUnit setup (the eventual goal).
-
- <!> Under Construction <!>
== Goals ==
* Ideally running the Derby tests should allow multiple configurations to exist concurrently, for example to parallelize test runs or stress test by kicking off multiple runs within the same JVM.
* The default way for running tests must not require any system property or other setup that would make it harder for tests to run elsewhere as standard JUnit tests.
+
+ == Primary Configurations ==
+
+ Derby's JUnit tests will be self-contained for the primary configurations which are:
+ * embedded
+ * derby network client
+
+ This means that each test's `suite()` method will return a suite that runs test fixtures in all the primary configurations
+ as required. This is option B) in this derby-dev discussion:
+ http://mail-archives.apache.org/mod_mbox/db-derby-dev/200609.mbox/%3c451C1CDF.7050706@apache.org%3e
+
+ Tests can fall into any of the following categories:
+ * embedded only - E.g. testing triggers may not provided additional testing by running with the network client
+ * client only - E.g. specific testing of a client data source
+ * embedded & client - runs fixtures in both configurations, some fixtures may only run in a single configuration due to items not supported in a configuration, bugs in a configuration or no value in running the fixture in that configuration.
+
+ == Suites ==
+
+ Top level suites have two roles:
+ * To allow a set of tests to be run, e.g. all JDBC api tests (`tests.jdbc._Suite`), all SQL language tests (`tests.lang._Suite`), all tests (`suites.All`)
+ * To run a number of tests (or suites) in a secondary configuration, e.g. all language tests with encryption.
+
+ Top level suites should not contain ''magic'' that requires the use of a top-level
+ suite to run an individual test.
== System Properties ==
Derby's JUnit infrastructure classes to run tests may setup various system properties.