1
這是關於測試的一般問題,但我將在Node.js的上下文中對其進行構建。我並不關心某項技術,但它可能很重要。在nodejs中測試後臺進程(使用磁帶)
在我的申請,我有幾個模塊被要求當我的Web服務器接收到一個請求做工作。對於其中一些模塊,我在請求它們之前關閉了請求。
什麼是測試這些模塊都在做他們應該做的有什麼好辦法?
對RSpec的建議here是模擬這些模塊正在做的工作,只是確保正在調用適當的方法。這對我很有意義,但是在Node.js中,因爲我的模塊不是全局的,所以我不認爲我不能在不改變我的程序體系結構的情況下嘲笑函數,以便每個實例都能接收到它需要的對象的實例。
[1]這是一個衆所周知的編程範式,但我不記得它的名字現在。
另一種選擇我看到的是使用setTimeout
並把我最好的猜測時,這些模塊與他們的工作做的。
這些都不是理想的。
我錯過了什麼嗎?後臺進程沒有經過測試?
您是否嘗試過在隔離測試這些組件?就像,而不是測試整個集成系統,你是否嘗試過爲每個單獨的模塊編寫測試,模擬他們從主進程中獲得的東西?每當我做一個後臺進程時,那個進程就會有一些對象或者一些對象的集合。這些可以獨立於它們是否處於後臺進程來執行。 – juanpaco
是的,我有模塊的單元測試,他們可以獨立執行。對這些進行集成測試是否正常? – mehulkar