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 List keyList;
/**
* @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/