我有一個應用程序,我正在構建,就像我在過去幾年中構建的大多數應用程序一樣,使用乾淨的分離:後端的REST API Angular骨幹,之前只是jQuery)的前端。開發和測試AngularJS應用程序(和一般應用程序)
第一次測試時,很容易對REST API進行存根操作;在開發時,我可以像靜態文件服務器(如angular-seed的./scripts/web-server
)那樣執行文件並將其放入文件。但是在某個時候,我真的需要開發和測試真正的REST API。
人們如何針對這種獨立的應用程序構建反對並啓動?在過去,我有一個./dev
節點腳本,它將設置各種測試/開發數據庫變量,然後require('../../server-dev-dir/app.js')
,但它似乎有點沉重。有沒有更乾淨的方法來做到這一點?
同樣的測試問題:該應用程序確實需要針對真正的REST API進行測試,在某些時候,存根和嘲笑只能提供很大的幫助。
很高興再次見到你。我明白你的意思,我的問題是有時候嘲笑是不夠的。當您使用REST API構建Web應用程序(例如50種不同的路徑),並且POST中的一個影響另一個GET時,您幾乎可以在模擬中重建整個後端API!你不喜歡使用真正的服務器端應用程序在本地運行嗎?還是有一些簡單的方法來嘲笑它? – deitch
@deitch,是的,我認爲你是對的。嘲笑你的後端可能涉及很多工作,但是由於響應在'$ httpBackend'中被硬編碼,所以它不像從頭開始重建整個後端那樣糟糕。不知道這是否可行,但你可以嘗試不包括'angular-mocks.js'。也許這會讓你的'$ http'發送真正的請求到你的服務器。但是,那麼你將不得不編寫異步測試,這在我看來並不糟糕。 –
我不介意異步測試。我通常使用摩卡,但無論哪種方式,異步並不是那麼糟糕。但是,用戶界面對REST API進行了大量的練習 - 實際上,所有這些 - 我發現自己正在重新創建它,不妨發佈它。 – deitch