Hi Mick,

Just to add to what Adam said. A common cause for this problem is having a
typo in your persistence unit name, or not having persistence.xml on the
classpath. Looking at the code that is calling
Persistence.createEntityManagerFactory() is the best place to start.

-mike

On Fri, Mar 21, 2008 at 8:56 AM, Adam Hardy <[EMAIL PROTECTED]>
wrote:

> Hi Mick,
>
> from the fact that you don't show any code that instantiates the
> entityManagerFactory variable, I assume you get this NPE because the
> instantiation failed. So effectively the NPE is masking the real exception
> from
> JPA. You need to turn up the logging to reveal the disappearing
> stacktrace, or
> find the code that's calling Persistence.createEntityManagerFactory() and
> make
> sure you catch the exception and log the stacktrace.
>
>
> Mick Knutson on 20/03/08 22:03, wrote:
> > I have been trying to run this example:
> > http://bill.dudney.net/roller/bill/entry/20070428
> >
> > Now it seems, that when the testNG tests run, I get an NPE here:
> >
> > *DbUnitTestBase.java
> > *
> >     @BeforeClass(groups = {"database"})
> >     protected void loadSeedData() throws Exception {
> >         logger.debug("loadSeedData");
> >         IDatabaseConnection dbunitConn = null;
> >         EntityManager em = null;
> >         try {
> >             *em = entityManagerFactory.createEntityManager();*
> >
> >
> > Here is my error in *testng-results.xml*
> >
> >     <test name="Command line test">
> >       <class name="net.dudney.jpaund.domain.SimpleTest">
> >         <test-method status="SKIP" signature="initDB()" name="initDB"
> > is-config="true" duration-ms="0" started-at="2008-03-20T11:51:46Z"
> > finished-at="2008-03-20T11:51:46Z">
> >         </test-method>
> >         <test-method status="SKIP" signature="testCreateSiteUser()"
> > name="testCreateSiteUser" duration-ms="0"
> started-at="2008-03-20T11:51:46Z"
> > finished-at="2008-03-20T11:51:46Z">
> >         </test-method>
> >         <test-method status="FAIL" signature="loadSeedData()"
> > name="loadSeedData" is-config="true" duration-ms="0"
> > started-at="2008-03-20T11:51:46Z" finished-at="2008-03-20T11:51:46Z">
> >           <exception class="java.lang.NullPointerException">
> >             <full-stacktrace>
> >               <![CDATA[java.lang.NullPointerException
> >     at net.dudney.jpaund.domain.DbUnitTestBase.loadSeedData(
> > DbUnitTestBase.java:43)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:39)
> >     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:25)
> >     at java.lang.reflect.Method.invoke(Method.java:585)
> >     at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java
> :580)
> >     at org.testng.internal.Invoker.invokeConfigurationMethod(
> Invoker.java
> > :398)
> >     at org.testng.internal.Invoker.invokeConfigurations(Invoker.java
> :145)
> >     at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:82)
> >     at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(
> > TestMethodWorker.java:166)
> >     at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java
> :103)
> >     at org.testng.TestRunner.runWorkers(TestRunner.java:689)
> >     at org.testng.TestRunner.privateRun(TestRunner.java:566)
> >     at org.testng.TestRunner.run(TestRunner.java:466)
> >     at org.testng.SuiteRunner.runTest(SuiteRunner.java:301)
> >     at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:296)
> >     at org.testng.SuiteRunner.privateRun(SuiteRunner.java:276)
> >     at org.testng.SuiteRunner.run(SuiteRunner.java:191)
> >     at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:808)
> >     at org.testng.TestNG.runSuitesLocally(TestNG.java:776)
> >     at org.testng.TestNG.run(TestNG.java:701)
> >     at org.apache.maven.surefire.testng.TestNGExecutor.run(
> > TestNGExecutor.java:62)
> >     at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute
> (
> > TestNGDirectoryTestSuite.java:136)
> >     at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:39)
> >     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:25)
> >     at java.lang.reflect.Method.invoke(Method.java:585)
> >     at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(
> > SurefireBooter.java:338)
> >     at org.apache.maven.surefire.booter.SurefireBooter.main(
> > SurefireBooter.java:997)
> > ]]>
> >             </full-stacktrace>
> >           </exception>
> >         </test-method>
> >       </class>
> >       <class name="net.dudney.jpaund.dao.jpa.BaseDaoJpaTest">
> >         <test-method status="PASS" signature="testGetUpdateObjects()"
> > name="testGetUpdateObjects" duration-ms="13078"
> > started-at="2008-03-20T11:50:42Z" finished-at="2008-03-20T11:50:55Z">
> >         </test-method>
> >         <test-method status="PASS"
> signature="testQueryBuildingRealClass()"
> > name="testQueryBuildingRealClass" duration-ms="0"
> > started-at="2008-03-20T11:50:55Z" finished-at="2008-03-20T11:50:55Z">
> >         </test-method>
> >         <test-method status="PASS"
> > signature="testQueryBuildingNullParameter()"
> > name="testQueryBuildingNullParameter" duration-ms="0"
> > started-at="2008-03-20T11:51:46Z" finished-at="2008-03-20T11:51:46Z">
> >         </test-method>
> >         <test-method status="PASS" signature="testGetObject()"
> > name="testGetObject" duration-ms="219" started-at="2008-03-20T11:51:45Z"
> > finished-at="2008-03-20T11:51:46Z">
> >         </test-method>
> >         <test-method status="PASS"
> > signature="testSaveOrUpdateObjectExistingObject()"
> > name="testSaveOrUpdateObjectExistingObject" duration-ms="12735"
> > started-at="2008-03-20T11:51:20Z" finished-at="2008-03-20T11:51:33Z">
> >         </test-method>
> >         <test-method status="PASS" signature="setUpSpring()"
> > name="setUpSpring" is-config="true" duration-ms="1281"
> > started-at="2008-03-20T11:50:13Z" finished-at="2008-03-20T11:50:14Z">
> >         </test-method>
> >         <test-method status="PASS"
> signature="testQueryBuildingEmptyParam()"
> > name="testQueryBuildingEmptyParam" duration-ms="0"
> > started-at="2008-03-20T11:50:30Z" finished-at="2008-03-20T11:50:30Z">
> >         </test-method>
> >         <test-method status="PASS" signature="testDeleteObject()"
> > name="testDeleteObject" duration-ms="13281"
> > started-at="2008-03-20T11:51:07Z" finished-at="2008-03-20T11:51:20Z">
> >         </test-method>
> >         <test-method status="PASS"
> > signature="testQueryBuildingDoubleParamOrderBy()"
> > name="testQueryBuildingDoubleParamOrderBy" duration-ms="0"
> > started-at="2008-03-20T11:51:33Z" finished-at="2008-03-20T11:51:33Z">
> >         </test-method>
> >         <test-method status="PASS"
> > signature="testSaveOrUpdateObjectNewObject()"
> > name="testSaveOrUpdateObjectNewObject" duration-ms="12203"
> > started-at="2008-03-20T11:50:30Z" finished-at="2008-03-20T11:50:42Z">
> >         </test-method>
> >         <test-method status="PASS" signature="testParameterQuery()"
> > name="testParameterQuery" duration-ms="344"
> > started-at="2008-03-20T11:51:07Z" finished-at="2008-03-20T11:51:07Z">
> >         </test-method>
> >         <test-method status="PASS" signature="testFetchWithOrderBy()"
> > name="testFetchWithOrderBy" duration-ms="12360"
> > started-at="2008-03-20T11:51:33Z" finished-at="2008-03-20T11:51:45Z">
> >         </test-method>
> >         <test-method status="PASS"
> > signature="testQueryBuildingSingleParam()"
> > name="testQueryBuildingSingleParam" duration-ms="0"
> > started-at="2008-03-20T11:50:55Z" finished-at="2008-03-20T11:50:55Z">
> >         </test-method>
> >         <test-method status="PASS" signature="testGetPKFieldName()"
> > name="testGetPKFieldName" duration-ms="0"
> started-at="2008-03-20T11:50:55Z"
> > finished-at="2008-03-20T11:50:55Z">
> >         </test-method>
> >         <test-method status="PASS" signature="testDeleteNonObject()"
> > name="testDeleteNonObject" duration-ms="11140"
> > started-at="2008-03-20T11:50:55Z" finished-at="2008-03-20T11:51:07Z">
> >         </test-method>
> >         <test-method status="PASS"
> signature="testSingleParameterQuery()"
> > name="testSingleParameterQuery" duration-ms="1079"
> > started-at="2008-03-20T11:50:29Z" finished-at="2008-03-20T11:50:30Z">
> >         </test-method>
> >         <test-method status="PASS" signature="loadSeedData()"
> > name="loadSeedData" is-config="true" duration-ms="15234"
> > started-at="2008-03-20T11:50:14Z" finished-at="2008-03-20T11:50:29Z">
> >         </test-method>
> >         <test-method status="PASS"
> > signature="testQueryBuildingDoubleParam()"
> > name="testQueryBuildingDoubleParam" duration-ms="0"
> > started-at="2008-03-20T11:50:55Z" finished-at="2008-03-20T11:50:55Z">
> >         </test-method>
> >       </class>
> >     </test>
> >   </suite>
> >
> > The strange thing is, most of the tests pass in *BaseDaoJpaTest.java*
> > but not in *SimpleTest.java*
> >
> > I am very perplexed and want to fully understand how to get DBUnit,
> Maven,
> > and openJPA forking please.
> >
>
>

Reply via email to