Hibernate.orgCommunity Documentation
Envers, as a module of Hibernate, uses a standard Maven2 build. So all the usual build targets (compile, test, install) will work.
You can check out the source code from SVN, or browse it using FishEye.
The tests use, by default, use a H2 in-memory database. The configuration
file can be found in src/test/resources/hibernate.test.cfg.xml
.
The tests use TestNG, and can be found in the
org.hibernate.envers.test.integration
package
(or rather, in subpackages of this package).
The tests aren't unit tests, as they don't test individual classes, but the behaviour
and interaction of many classes, hence the name of package.
A test normally consists of an entity (or two entities) that will be audited and extends the
AbstractEntityTest
class, which has one abstract method:
configure(Ejb3Configuration)
. The role of this method is to add the entities
that will be used in the test to the configuration.
The test data is in most cases created in the "initData" method (which is called once before the tests from this class are executed), which normally creates a couple of revisions, by persisting and updating entities. The tests first check if the revisions, in which entities where modified are correct (the testRevisionCounts method), and if the historic data is correct (the testHistoryOfXxx methods).
Copyright © 2004 Red Hat Inc.