import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.junit.After; import org.junit.Before; import org.junit.Test; import com.google.appengine.api.datastore.DatastoreService; import com.google.appengine.api.datastore.DatastoreServiceFactory; import com.google.appengine.api.datastore.Entity; import com.google.appengine.api.datastore.FetchOptions; import com.google.appengine.api.datastore.Key; import com.google.appengine.api.datastore.PreparedQuery; import com.google.appengine.api.datastore.Query; import com.google.appengine.api.datastore.Query.FilterOperator; import com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig; import com.google.appengine.tools.development.testing.LocalServiceTestHelper; /** * Google App Engine for Javaにおけるユニットテストのサンプルコード。 */ public class LocalUnitTestSample { private static final String DATA_KIND = "sampleDataKind"; private LocalServiceTestHelper helper = new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig()); //private String[] propertyNames = {"pName1","pName2","pName3","pName4","pName5"}; private String propertyName = "propertyName"; private String[] propertyValues = {"pValue1","pValue2","pValue3","pValue4","pValue5"}; private DatastoreService ds; private ListkeyList; /** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { helper.setUp(); //サンプルデータをデータストアに保存する putSampleData(); } /** * サンプルデータをデータストアに保存するメソッド。 */ private void putSampleData() { keyList = new ArrayList (); ds = DatastoreServiceFactory.getDatastoreService(); for (int i = 0; i < propertyValues.length; i++) { Entity entity = new Entity(DATA_KIND); entity.setProperty(propertyName, propertyValues[i]); Key key = ds.put(entity); keyList.add(key); } } /** * @throws java.lang.Exception */ @After public void tearDown() throws Exception { //サンプルデータをデータストアから削除する deleteSampleData(); helper.tearDown(); } /** * サンプルデータをデータストアから削除するメソッド。 */ private void deleteSampleData() { Iterator iter = keyList.iterator(); while (iter.hasNext()){ ds.delete(iter.next()); } } @Test public void doTest(){ //サンプルデータをデータストアから検索する for (int i = 0;i < propertyValues.length;i++){ Query query = new Query(DATA_KIND); query.addFilter(propertyName, FilterOperator.EQUAL, propertyValues[i]); PreparedQuery prepare = ds.prepare(query); List entitiesList = prepare.asList(FetchOptions.Builder.withDefaults()); assertEquals(1,entitiesList.size()); Iterator iter = entitiesList.iterator(); while (iter.hasNext()){ Entity entity = iter.next(); assertTrue(propertyValues[i].equals(entity.getProperty(propertyName))); } } } }
インストール不要・無料のKaede翻訳ツール:
http://kaedetrans.appspot.com/