Hibernate.orgCommunity Documentation
Envers, as a module of Hibernate, uses the standard Hibernate build. So all the usual build targets (compile, test, install) will work.
The public Hibernate Git repository is hosted at GitHub and can be browsed using GitHub. The source can be checked out using either
git clone https://github.com/hibernate/hibernate-core hibernate-core.git git clone git://github.com/hibernate/hibernate-core.git
If you want to contribute a fix or new feature, either:
git pull-request
)
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.