Persistence testing is done so basic, writing your first unit test will make you cry.
Lets write a test, that says we have corrected Hibernate handling of UUID Primary Keys
Each piece of this test is highlighted in red

I want a test that doesn't need to test transaction management, and will obtain the database connections from an existing wildfly standalone file, using EntityAssist to simply query execution
public void testUUIDHibernatePrimaryKeyFromWildfly()
	TestEntity api = new TestEntity()
	Optional stored = new TestEntity().builder().find(api.getOid()).get();

You can swap out DatabaseModule's using Guiced EE's module loading mechanism, or even just change the referenced persistence unit name in the module to point to a different location if you want more than one persistence units available for unit testing
Set modules = GuiceContext.instance().loadIGuiceModules();
modules.removeIf(a -> a.getClass().equals(MyDataBaseModule.class));
modules.add(new MyDatabaseModuleTests());

Dynamically setting your module persistence unit name can be done as shown below
public MyDatabaseModule()
  if (StaticConfiguration.getRunningEnvironment()
    setPersistenceUnitName(getPersistenceUnitName() + "_UT");
public String getPersistenceUnitName()
	return PersistenceUnitName;

Creating keys for your DatabaseModules can be very handy, especially for getting a hold of instances directly without using injection
public static final Key MODEL_DATASOURCE_KEY = Key.get(DataSource.class, MyDatabaseAnnotation.class);
public static final Key MODEL_ENTITYMANAGER_KEY = Key.get(EntityManager.class, MyDatabaseAnnotation.class);

I am then able to get a hold of these instances directly in my test class :
EntityManager em = GuiceContext.get(MyDatabaseBModule.MODEL_ENTITYMANAGER_KEY);