hi all,

i have been attempting to convert my existing JPA code over to GAE.

All is working so far except for the unit tests.

i read
code.google.com/appengine/docs/java/tools/localunittesting.html

but it doesnt describe how to get an entityManager involved in usefull
unit tests.

so this is my test. please advise how to achieve the functionality in
this test.

@Test
public void findFriendsSimple() {



PositionUser user1 = new PositionUser();
user1.setFirstName("john");
user1.setLastName("smith");

PositionUser user2 = new PositionUser();
user2.setFirstName("mary");
user2.setLastName("smith");

PositionUser user3 = new PositionUser();
user3.setFirstName("barney");
user3.setLastName("smith");

em.persist(user2);
em.persist(user3);
//em.flush(); <--- can use flush for non transaction test

user1.getFriends().add(user2.getKey());
user1.getFriends().add(user3.getKey());

em.persist(user1);
//em.flush(); <--- can use flush for non transaction test

Query query = em.createNamedQuery(PositionUser.FIND_FRIENDS);
query.setParameter("userKey", user1.getKey());
List resultList = query.getResultList();
assertEquals( 2, resultList.size() );

}

the assert is triggered
java.lang.AssertionError: expected:<2> but was:<0>

this is because the entitymanager wont detect the persisted entities
that arent in a transaction.

ok no problem, i will add transactions.

But when i do it complains that i am adding multiple groups in a single
transaction.

So besides the simple gae sample unit test, how are others writting
useful unit tests in gae?

any help is most appreciated

-lp

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to