gwt junit を使用して gwt アプリをテストしようとしていますが、オブジェクト化をテストするために正しく設定できないようです。すべてのチュートリアルは、DataStore のテストを示していますが、Objectify は示していません (これはより高いレベルのデータベース サービスです)。テスト用の私の基本クラスは次のようになります。
public class TestBase {
private static final LocalServiceTestHelper helper =
new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig());
protected static ObjectifyFactory fact;
@BeforeClass
public static void setUp() {
helper.setUp();
fact = new ObjectifyFactory() {
@Override
public Objectify begin(ObjectifyOpts opts)
{
opts.setSessionCache(false);
return super.begin(opts);
}
};
}
@AfterClass
public static void tearDown() {
helper.tearDown();
}
}
次に、ベースを拡張するクラスがあります:
public class UserServiceTest extends TestBase{
private User inactiveUser;
private UserService us;
Objectify _ofy;
@Rule
public ExpectedException thrown = ExpectedException.none();
@Before
public void beforeTest() {
//Register the classes used in the test
fact.register(User.class);
us = new UserService();
inactiveUser = new User();
}
@Test
public void basicTest(){
Objectify ofy = ObjectifyService.begin();
ofy.put(inactiveUser); //This fails with exception: An exception occurred: com.google.apphosting.api.ApiProxy$CallNotFoundException
//My goal is to reach these test but "addUser" uses also objectify
//UserService.addUser("shpungin@gmail.com", "bye");
//assertNotNull(inactiveUser.get_id());
}
私が間違っていることを知っていますか?私はインターネット全体を調べましたが、解決策が見つかりませんでした (.classpath から app-engine-sdk を削除すると言う人もいますが、うまくいかないようです。
ありがとうございました。