2016-07-30 28 views
7

Ekibim ve bazı bağlantı sorunlarını çözeceğinden, uygulamanıza Google Pub/Sub'ı eklemeyi çok istiyoruz. Yapmakta olduğumuz problem, java appengine dev sunucusuyla birlikte yerel entegrasyon testlerinin nasıl yapılacağıdır.Yerel GAE java dev sunucusu için Google Pub/Sub test stratejisi

şimdiye kadar yaptığım Ne:

    pub alt emülatörü başlatmak ve konuları ve abonelikleri oluşturur java dev sunucusunda yılında PUBSUB_EMULATOR_HOST ortam değişkeni
  1. başlatmak başvurumuzu ayarlayın ve sonra gönderir
  2. Bazı mesajlar konulara .
ben yanlış bir şey yapıyorum farz ediyorum

çünkü: bulut (? Elbette onlar PubSub emülatörü oluşturulan olmalıydı)

  • mesajlardır oluşturulan olarak

    • konular ve abonelikler itti ve biz Ids geri mesaj aldık ama hiçbir uç noktaya ulaşıldı ya da bulut ya da emülatörde hata bildirildi.

    Bundan hemen emülatörün dev sunucusu tarafından alınmadığından eminim.

    Ayrıca test stratejimizle ilgili daha derin sorularm var. Yerel entegrasyon testleri, bu güne ve yaşına gerçekten daha uygun ve daha fazla hizmetin bulutla bağlanmasıyla mümkün. Bulut örneklerine karşı çalışan entegrasyon test süitlerine daha fazla odaklanmalı mıyız? Öyleyse, geliştiricilerin bir bulut test ortamına yerleştirmeden önce kodlarında güven duymalarını nasıl sağlayabilirsiniz ve bu geri besleme döngüsünü önemli ölçüde artırmaz mı? şimdi başarılı bir yerel emülatörü yayımlamak sağlayan bir yerel yapılandırmasından: (8010 localhost) Bir url enjekte başardı Google Java API İstemci PubSub oluşturucu sınıfını kullanma GÜNCELLEME

    .

    Pubsub client = new Pubsub.Builder(httpTransport, jsonFactory, initializer) .setApplicationName(getProjectId()) .setRootUrl(rootUrl).build(); 

    Doğrusu dinamik olarak değişen bir port bağımlı kalmadan daha benim takımın geri kalanı için kurulum kolaylaştırmak için kullanılan bağlantı noktasını zorladı.

    gcloud beta emulators pubsub start --host-port localhost:8010 
    

    Şimdi, konu, abonelik ve iletiler emülatörde başarıyla oluşturuluyor. Maalesef hala kayıtlı olan uç noktalara iletilen mesajları almıyorum.

    GÜNCELLEME 2

    gcloud versiyonu 120.0.0 şeyleri iyileştirmek gibi görünüyor ama şimdi aşağıdaki hatayı alıyorum:

    { 
        "code" : 400, 
        "message" : "Payload isn't valid for request.", 
        "status" : "INVALID_ARGUMENT" 
    } 
    
  • +0

    Google'a bir hata raporu gönderdim: https://code.google.com/p/cloud-pubsub/issues/detail?id=39 –

    cevap

    0

    Will gcloud fayda yerel PubSub sunucu en son güncelleme düzeltildi. Bu sorun çözüldü: