Yes.
> The only reason I can think of is to update some internal descriptor
> that tracks the DB version number.
Yes, that's one reason. Another is consistency: that the acceptance
tests are testing something closer to production databases.
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
* A Dataset is a dump of the entire contents of the Mifos database,
xml-formatted by DBUnit. It is used either to initialize the database
state before running an acceptance test, or to validate its expected
state after the test.
* When the database undergoes an upgrade (either a schema change, a
change in initial data, or some other transformation of existing data)
the current DBUnit datasets may no longer be valid and may either
cause tests to fail or abort in error or give erroneous results. The
procedure outlined at
http://www.mifos.org/developers/wiki/DataSetUpgradeUtil updates the
datasets to reflect current schema and default data. At the very
least, one change will always occur -- the contents of table
DATABASE_VERSION is updated to a higher version number.
* The upgrade procedure
** Loads the dataset into a fresh database using the previous data schema.
** Uses the Mifos application's initialization procedures to upgrade
the schema and apply any data changes needed to bring the data up to
the current version.
** Uses DBUnit to dump the data, replacing the original dataset.
Keith
Keith,
Nicely described, thanks. I've added a link to this information on the
overall writing acceptance test wiki page -
http://www.mifos.org/developers/wiki/WritingAcceptanceTests.
Regards,
Jeff