Unit tests for Objectify entities and DAOs
September 14, 2016 Leave a comment
This article explains how to write unit tests (with junit) for Objectify entities and DAOs.
Google Cloud Platform describes how to write unit tests for Google DataStore. A small adaptation enables the same solution for Objectify.
The documentation suggest creating a LocalServiceTestHelper to be initialized in a @Before/setUp() method and disposed in a @After/tearDown() method.
After calling helper.setUp(), initialize the objectify framework by calling ObjectifyService.begin(). Store the returned closable so you can dispose Objectify at the end of your test.
import com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig; import com.google.appengine.tools.development.testing.LocalServiceTestHelper; import com.googlecode.objectify.ObjectifyService; import org.junit.After; import org.junit.Before; import org.junit.Test; public class EventDataStoreTest { private final LocalServiceTestHelper helper = new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig()); private com.googlecode.objectify.util.Closeable closeable; public EventDataStoreTest() { } @Before public void setUp() { helper.setUp(); closeable = ObjectifyService.begin(); } @After public void tearDown() { closeable.close(); helper.tearDown(); } @Test public void testSaveCriterioBuscado() { EventoDataStore.createInstance().save( new EventEntity("a", "b", "c", "d")); } }