gpt4 book ai didi

google-app-engine - 将 GAE 本地测试与 Objectify 结合使用

转载 作者:太空宇宙 更新时间:2023-11-03 15:36:54 24 4
gpt4 key购买 nike

我正在尝试使用 google app engine 提供的本地测试助手来对我使用 objectify 的应用程序进行单元测试。但是,一些测试失败并显示以下消息;

com.google.apphosting.api.ApiProxy$CallNotFoundException: The API package 'datastore_v3' or call 'Put()' was not found.
at com.google.apphosting.api.ApiProxy$1.get(ApiProxy.java:164)
at com.google.apphosting.api.ApiProxy$1.get(ApiProxy.java:162)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:90)
at com.google.appengine.api.datastore.FutureHelper$CumulativeAggregateFuture.get(FutureHelper.java:145)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:90)
at com.googlecode.objectify.impl.ResultAdapter.now(ResultAdapter.java:29)
at com.googlecode.objectify.util.ResultWrapper.translate(ResultWrapper.java:20)
at com.googlecode.objectify.util.ResultWrapper.translate(ResultWrapper.java:1)
at com.googlecode.objectify.util.ResultTranslator.nowUncached(ResultTranslator.java:21)
at com.googlecode.objectify.util.ResultCache.now(ResultCache.java:27)
at com.googlecode.objectify.util.ResultWrapper.translate(ResultWrapper.java:20)
at com.googlecode.objectify.util.ResultWrapper.translate(ResultWrapper.java:1)
at com.googlecode.objectify.util.ResultTranslator.nowUncached(ResultTranslator.java:21)
at com.googlecode.objectify.util.ResultCache.now(ResultCache.java:27)

这是我的代码:

private final LocalServiceTestHelper helper = new LocalServiceTestHelper(
new LocalDatastoreServiceTestConfig(),
new LocalMemcacheServiceTestConfig());

@BeforeMethod(alwaysRun = true)
public void setUp() {
helper.setUp();
}

.....
//In class constructor
ObjectifyService.register(SomeClass.class);
.....
@AfterMethod(alwaysRun = true)
public void tearDown() {
helper.tearDown();
}

public void doTest {
SomeClass value = ......
ofy().save().entity(value).now(); //throws error
}

这是我的依赖关系树:

[INFO] |  +- com.google.guava:guava-collections:jar:r03:compile
[INFO] | | +- com.google.guava:guava-annotations:jar:r03:compile
[INFO] | | \- com.google.guava:guava-primitives:jar:r03:compile
[INFO] | | \- com.google.guava:guava-base:jar:r03:compile
[INFO] | \- com.google.inject.extensions:guice-servlet:jar:3.0:compile
[INFO] +- com.google.inject:guice:jar:3.0:compile
[INFO] | +- com.google.api-client:google-api-client:jar:1.11.0-beta:compile
[INFO] | | \- com.google.oauth-client:google-oauth-client:jar:1.11.0-beta:compile
[INFO] | | +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO] | | \- com.google.guava:guava:jar:11.0.1:compile
[INFO] | +- com.google.appengine:appengine-api-1.0-sdk:jar:1.7.2:compile
[INFO] | \- com.googlecode.objectify:objectify:jar:4.0a4:compile
[INFO] | +- com.google.appengine.orm:datanucleus-appengine:jar:1.0.10:runtime
[INFO] | \- com.google.appengine:appengine-tools-sdk:jar:1.7.2:compile
[INFO] +- com.google.appengine:appengine-api-labs:jar:1.7.2:test
[INFO] +- com.google.appengine:appengine-api-stubs:jar:1.7.2:test
[INFO] +- com.google.appengine:appengine-testing:jar:1.7.2:test
[INFO] +- com.google.api-client:google-api-client-appengine:jar:1.10.3-beta:compile
[INFO] | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.10.1-beta:compile
[INFO] | | +- com.google.oauth-client:google-oauth-client-servlet:jar:1.10.1-beta:compile
[INFO] | +- com.google.api-client:google-api-client-servlet:jar:1.10.3-beta:compile
[INFO] | \- com.google.http-client:google-http-client-appengine:jar:1.10.3-beta:compile
[INFO] | \- com.google.http-client:google-http-client:jar:1.10.3-beta:compile
[INFO] | +- com.google.code.gson:gson:jar:2.1:compile
[INFO] | \- com.google.protobuf:protobuf-java:jar:2.2.0:compile

知道我遗漏了什么或做错了什么吗?

最佳答案


我只是重现了这个错误并通过添加以下依赖项修复了它:

    <!--
GAE libraries for local testing as described here:
http://code.google.com/appengine/docs/java/howto/unittesting.html
-->
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-labs</artifactId>
<version>${gae.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-stubs</artifactId>
<version>${gae.version}</version>
<scope>test</scope>
</dependency>

我使用本地 maven 属性来引用相同的 gae 版本。
希望这有帮助
问候

关于google-app-engine - 将 GAE 本地测试与 Objectify 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12823532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com