jam*_*rcy 7 java google-app-engine google-cloud-pubsub
我的团队和我非常希望在我们的应用程序中包含Google Pub/Sub,因为它将解决一些耦合问题.我们遇到的问题是如何结合java appengine dev服务器进行本地集成测试.
到目前为止我做了什么:
我假设我做错了,因为:
从这一点来看,我非常确定开发服务器没有接收到模拟器.
我对测试策略也有一些更深层次的问题.本地集成测试在当今时代是否真的可行,越来越多的服务成为云计算的一部分.我们是否应该更多地关注针对云实例本身运行的集成测试套件?如果是这样,在部署到云测试环境之前,如何确保开发人员对其代码有信心,这不会显着增加反馈循环吗?
UPDATE
使用Google Java API Client PubSub构建器类,我能够从本地配置注入一个url(localhost:8010),现在允许我成功发布到本地模拟器.
Pubsub client = new Pubsub.Builder(httpTransport, jsonFactory, initializer)
.setApplicationName(getProjectId())
.setRootUrl(rootUrl).build();
Run Code Online (Sandbox Code Playgroud)
我强迫端口用于简化我的团队其余部分的设置,而不是依赖于动态变化的端口.
gcloud beta emulators pubsub start --host-port localhost:8010
Run Code Online (Sandbox Code Playgroud)
现在,在模拟器上成功创建了主题,订阅和消息.不幸的是,我仍然没有将消息推送到注册的端点.
更新2
gcloud版本120.0.0似乎改进了一些东西,但我现在收到以下错误:
{
"code" : 400,
"message" : "Payload isn't valid for request.",
"status" : "INVALID_ARGUMENT"
}
Run Code Online (Sandbox Code Playgroud)
gcloud 实用程序的最新更新是否已修复本地 pubsub 服务器。此问题已解决:https ://code.google.com/p/cloud-pubsub/issues/detail?id=41
| 归档时间: |
|
| 查看次数: |
543 次 |
| 最近记录: |