For me worked:
public void testSavePerson() throws Exception {
        person = new Person();
        person.setFirstName("Stefan");
        person.setLastName("Malaer");

        dao.savePerson(person);
                
        person = dao.getPerson(new Long(1));
        person.setFirstName("Stefan");

        person.setLastName("Last Name Updated");

        dao.savePerson(person);

        if (log.isDebugEnabled()) {
            log.debug("updated Person: " + person);
        }

        assertEquals(person.getLastName(), "Last Name Updated");
    }
Maybe something with the rollback went wrong in your test.

Stefan


cosmonate cosmo wrote:
> 
> it seems so! so i did create new resident but, but auto inkrement  
> gives the new resident id=2 not 1! i checked this.. so there is some  
> inconsistency  in the tutorial and the way it really works i think!?
> 
> isn't resident/person createt in test1 with id=1 removed after the  
> rollback of the test/transaction?
> 
> this is the code i use now, and it works
> 
> it's similar to the one in the tutorial except the testSave...() method:
> 
> package at.carenet.dao;
> 
> import at.carenet.model.Resident;
> import org.springframework.dao.DataAccessException;
> 
> public class ResidentDaoTest extends BaseDaoTestCase
> {
>       private Resident resident = null;
>       private ResidentDao dao = null;
>       
>       public void setResidentDao(ResidentDao dao) {
>               this.dao = dao;
>       }
>       
>       public void testGetResident() throws Exception {
>               resident = new Resident();
>               resident.setFirstName("Bernd");
>               resident.setLastName("Putsche");
>               
>               dao.saveResident(resident);
>               assertNotNull(resident.getId());
>               
>               resident = dao.getResident(resident.getId());
>               System.out.println("CHECK ID:" + resident.getId());
>               assertEquals(resident.getFirstName(), "Bernd");
>       }
>       
>       public void testSaveResident() throws Exception {
>               resident = new Resident();
>               resident.setFirstName("Bernd");
>               resident.setLastName("Putsche");
>               
>               dao.saveResident(resident);
>               //resident = dao.getResident(resident.getId());
>               resident = dao.getResident(new Long(2));
>               System.out.println("CHECK ID:" + resident.getId());
>               
>               resident.setFirstName("Bernd");
>               resident.setLastName("Putsche update");
>               
>               dao.saveResident(resident);
>               
>               if (log.isDebugEnabled()) {
>                       log.debug("updated Resident: " + resident);
>               }
>               
>               assertEquals(resident.getLastName(), "Putsche update");
>       }
>       
>       public void testAddAndRemoveResident() throws Exception {
>               resident = new Resident();
>               resident.setFirstName("Bill");
>               resident.setLastName("Joy");
> 
>               dao.saveResident(resident);
>               System.out.println("CHECK ID:" + resident.getId());
>               assertEquals(resident.getFirstName(), "Bill");
>               assertNotNull(resident.getId());
> 
>               if (log.isDebugEnabled()) {
>                       log.debug("removing person...");
>               }
> 
>               dao.removeResident(resident.getId());
> 
>               try {
>                   resident = dao.getResident(resident.getId());
>                   fail("Resident found in database");
>               } catch (DataAccessException dae) {
>                   log.debug("Expected exception: " + dae.getMessage());
>                   assertNotNull(dae);
>               }
>       }       
> }
> 
> bernd
> 
> 
> On Jan 12, 2007, at 1:23 PM, Stefan Malär wrote:
> 
>>
>> Hi Bernd
>>
>> Most likely the error occurs because you trying to do something like
>> resident = dao.getResident(new Long(1));
>> in your testSaveResident method. But there is no Resident in your dao
>> object.
>> Instead you have to create a Resident to be saved by writing
>> resident = new Resident();
>>
>> Hope that helps.
>>
>> Stefan
>>
>>
>> cosmonate cosmo wrote:
>>>
>>> well now i get another error :-(
>>>
>>> tests 1 and 3 run successful , but 2 ( testSaveResident in my case)
>>> fails when retrieving object with identifier 1
>>>
>>> the class is called Resident and getResident() works in test 1 and 3,
>>> but fails in test 2!
>>>
>>> OUTPUT:
>>> test-dao:
>>>       [echo] Testing dao...
>>>      [junit] [carenet] INFO [main]
>>> ResidentDaoTest.loadContextLocations(136) | Loading context for:
>>> classpath*:/**/dao/applicationContext-*.xml,classpath*:META-INF/
>>> applicationContext-*.xml
>>>      [junit] [carenet] INFO [main]  
>>> ResidentDaoTest.startNewTransaction
>>> (309) | Began transaction (1): transaction manager
>>> [EMAIL PROTECTED] 
>>> 0];
>>>   default rollback = true
>>>      [junit] [carenet] INFO [main] ResidentDaoTest.endTransaction
>>> (275) | Rolled back transaction after test execution
>>>      [junit] [carenet] INFO [main]  
>>> ResidentDaoTest.startNewTransaction
>>> (309) | Began transaction (1): transaction manager
>>> [EMAIL PROTECTED] 
>>> 0];
>>>   default rollback = true
>>>      [junit] [carenet] INFO [main] ResidentDaoTest.endTransaction
>>> (275) | Rolled back transaction after test execution
>>>      [junit] [carenet] INFO [main]  
>>> ResidentDaoTest.startNewTransaction
>>> (309) | Began transaction (1): transaction manager
>>> [EMAIL PROTECTED] 
>>> 0];
>>>   default rollback = true
>>>      [junit] [carenet] DEBUG [main]
>>> ResidentDaoTest.testAddAndRemoveResident(55) | removing person...
>>>      [junit] [carenet] DEBUG [main]
>>> ResidentDaoTest.testAddAndRemoveResident(64) | Expected exception:
>>> Object of class [at.carenet.model.Resident] with identifier [2]: not
>>> found
>>>      [junit] [carenet] INFO [main] ResidentDaoTest.endTransaction
>>> (275) | Rolled back transaction after test execution
>>>      [junit] Testsuite: at.carenet.dao.ResidentDaoTest
>>>      [junit] Tests run: 3, Failures: 0, Errors: 1, Time elapsed:
>>> 7.933 sec
>>>
>>>      [junit] ------------- Standard Output ---------------
>>>      [junit] [carenet] INFO [main]
>>> ResidentDaoTest.loadContextLocations(136) | Loading context for:
>>> classpath*:/**/dao/applicationContext-*.xml,classpath*:META-INF/
>>> applicationContext-*.xml
>>>      [junit] [carenet] INFO [main]  
>>> ResidentDaoTest.startNewTransaction
>>> (309) | Began transaction (1): transaction manager
>>> [EMAIL PROTECTED] 
>>> 0];
>>>   default rollback = true
>>>      [junit] [carenet] INFO [main] ResidentDaoTest.endTransaction
>>> (275) | Rolled back transaction after test execution
>>>      [junit] [carenet] INFO [main]  
>>> ResidentDaoTest.startNewTransaction
>>> (309) | Began transaction (1): transaction manager
>>> [EMAIL PROTECTED] 
>>> 0];
>>>   default rollback = true
>>>      [junit] [carenet] INFO [main] ResidentDaoTest.endTransaction
>>> (275) | Rolled back transaction after test execution
>>>      [junit] [carenet] INFO [main]  
>>> ResidentDaoTest.startNewTransaction
>>> (309) | Began transaction (1): transaction manager
>>> [EMAIL PROTECTED] 
>>> 0];
>>>   default rollback = true
>>>      [junit] [carenet] DEBUG [main]
>>> ResidentDaoTest.testAddAndRemoveResident(55) | removing person...
>>>      [junit] [carenet] DEBUG [main]
>>> ResidentDaoTest.testAddAndRemoveResident(64) | Expected exception:
>>> Object of class [at.carenet.model.Resident] with identifier [2]: not
>>> found
>>>      [junit] [carenet] INFO [main] ResidentDaoTest.endTransaction
>>> (275) | Rolled back transaction after test execution
>>>      [junit] ------------- ---------------- ---------------
>>>      [junit] Testcase: testSaveResident
>>> (at.carenet.dao.ResidentDaoTest): Caused an ERROR
>>>      [junit] Object of class [at.carenet.model.Resident] with
>>> identifier [1]: not found
>>>      [junit] org.springframework.orm.ObjectRetrievalFailureException:
>>> Object of class [at.carenet.model.Resident] with identifier [1]: not
>>> found
>>>      [junit]     at
>>> at.carenet.dao.hibernate.ResidentDaoHibernate.getResident
>>> (ResidentDaoHibernate.java:13)
>>>      [junit]     at at.carenet.dao.ResidentDaoTest.testSaveResident
>>> (ResidentDaoTest.java:29)
>>>      [junit]     at
>>> org.springframework.test.ConditionalTestCase.runBare
>>> (ConditionalTestCase.java:69)
>>>
>>>
>>>      [junit] Test at.carenet.dao.ResidentDaoTest FAILED
>>>
>>> BUILD FAILED
>>> /Users/bernd/Projects/carenet/build.xml:269: The following error
>>> occurred while executing this line:
>>> /Users/bernd/Projects/carenet/build.xml:540: Unit tests failed. For
>>> error messages, check the log files in
>>>                  /Users/bernd/Projects/carenet/build/test/data or run
>>> "ant test-reports"
>>>                  to generate reports at /Users/bernd/Projects/ 
>>> carenet/
>>> build/test/reports.
>>>
>>>
>>> i checked if the id of the object created in test 1 is 1 and it
>>> seemed so when calling resident.getId() after dao.getResident()
>>> could it be that due to the rollback after test 1 the object is
>>> removed from the dabase so there is no object in the database with
>>> identifier 1 or what else could cause this error?
>>>
>>> bernd
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/testSave-fails% 
>> 3A-ObjectRetrievalFailureException-tf2944871s2369.html#a8297472
>> Sent from the AppFuse - User mailing list archive at Nabble.com.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/testSave-fails%3A-ObjectRetrievalFailureException-tf2944871s2369.html#a8299945
Sent from the AppFuse - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to