Unité de Test JPA/Hibernate : Pas de fournisseur de Persistance pour l'EntityManager

Je veux activer l'Unité de Test pour mon projet. J'ai créé la structure comme suit.

Structure De Répertoire

.
├── pom.xml
├── src
 ├── main
  ├── java
  └── resources
      ├── META-INF
       ├── beans.xml        <-- Works fine in live
       └── persistence.xml  <-- Works fine in live
 └── test
     ├── java
      ├── com
       └── test
           └── model
               ├── TestEntityManagerUtil.java
               └── TestHibernate.java
     └── resources
         ├── META-INF
          ├── beans.xml
          └── persistence.xml

CODE

persistence.xml

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="test" transaction-type="RESOURCE_LOCAL">

        <description>TEST Persistence Unit</description>
        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <properties>

            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
            <property name="hibernate.connection.url" value="jdbc:mysql://XXX:3306/X" />
            <property name="hibernate.connection.username" value="X" />
            <property name="hibernate.connection.password" value="X" />

            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="true" />
            <property name="hibernate.transaction.flush_before_completion" value="true" />
        </properties>
    </persistence-unit>
</persistence>

TestEntityManagerUtil.java

public class TestEntityManagerUtil {
    public static EntityManagerFactory getEntityManagerFactory(){
        return Persistence.createEntityManagerFactory("test");
    }
}

TestHibernate.java

public class TestHibernate {

    private EntityManager em;

    @Before
    public void beforeEach(){
        //Exception occurs here
        em = TestEntityManagerUtil.getEntityManagerFactory().createEntityManager();
    }

    @After
    ....

    @Test
    ....
}

Exception

javax.persistence.PersistenceException: No Persistence provider for EntityManager named test
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
    at com.wellclub.model.TestEntityManagerUtil.getEntityManagerFactory(TestEntityManagerUtil.java:12)
    at com.wellclub.model.TestHibernate.beforeEach(TestHibernate.java:24)

Le test persistence.xml est explosé dans target/test-clases répertoire qu'il est.

Quelqu'un peut m'aider ce que je ferais de mal.

Vous n'avez pas d'inclure votre serveur d'application des pots correctement. Je peux vous dire, les étapes à suivre si vous utilisez GlassFish, êtes-vous?
Après un deuxième coup d'oeil, vous n'êtes pas le développement d'une EE de l'application. Donc je prends ma suggestion précédente retour.

OriginalL'auteur Talha Ahmed Khan | 2012-11-20