2016-05-12 69 views
0

我們正在使用node.js在Google App Engine上啓動一個新應用。我們還決定使用Cloud Datastore。使用Node.js在應用引擎上進行本地單元測試

我發現,在其他可用語言,你可以做本地單元測試:

https://cloud.google.com/appengine/docs/java/tools/localunittesting

我還沒有找到可供node.js中什麼你知道是否有類似上面的鏈接?如果沒有,我們可能會更改爲Java或Go。

謝謝!

編輯:我剛剛發現這個

https://cloud.google.com/datastore/docs/tools/datastore-emulator

有沒有人嘗試過,知道如果這能解決我的問題呢?

回答

0

之間你看是什麼樣的App Engine的標準VS App Engine的靈活的差異(前身爲託管的虛擬機)。 NodeJS僅在App Engine Flexible上受支持。

App引擎標準具有一些優勢(更快的部署時間,「縮放到零」的能力,因此您對空閒應用程序不付費),但它的靈活性要低得多,因爲許多庫在運行時不可用,所以您依賴更多地使用App Engine API。爲了提供一種在本地進行測試的方式,提供了本地開發服務器。

標準版支持Python,Java,Go和PHP。但是,即使使用這些語言,如果您想使用Java 8,Python 3或像imagemagick這樣的自定義庫,仍然可以選擇Flexible。

App Engine的靈活是一個非常不同的產品,雖然表面上看起來類似,因爲它也有類似的工具和配置,並且它們都是可擴展的平臺作爲一種服務產品。但是這個概念是你帶來了你熟悉的任何環境,並將它運行在一個容器中(除非你使用Custom運行時爲它構建你自己的Docker運行時)。

既然你把你的標準開發環境到App Engine,這個想法是你測試你的應用程式的節點,你會測試任何其他節點的應用程序以同樣的方式,並運行它,就像您在本地運行其它本地節點項目。對於App Engine靈活的環境來說,沒有太多特殊的設計,所以不需要特殊的本地測試服務器。

但是,如果你使用雲存儲,提供了仿真器,因此您可以更快,更無需支付任何金錢運行測試。所以模擬器絕對是你想要做本地單元測試的東西。如果你有任何問題或問題,你應該跟進Stack Overflow的更多問題。

如果您還沒有看到,有一個使用App Engine Flexible的Node入門應用程序,演示了使用Cloud Datastore以及MongoDB和CloudSQL(託管MySQL)的各種任務。

https://github.com/googlecloudplatform/nodejs-getting-started

+0

不幸的是,數據存儲模擬器目前不支持GRPC,這是什麼gcloud節點模塊使用; https://code.google.com/p/google-cloud-sdk/issues/detail?id=719 –