2015-04-06 167 views
0

我正在寫一個角度應用程序,據此我的控制器調用一個API,它返回實時數據,然後顯示在我的html文檔中。量角器和茉莉花角單元/ E2E測試

我正在使用量角器作爲我的端到端測試,而茉莉作單元測試。

我在嘲笑我的API調用,以確保API不被調用。

我的問題是我是否應該使用量角器測試API調用,並檢查我的html文檔是否在GET請求後更新,或者是否應該在使用茉莉花進行單元測試時測試API調用。

我有一種感覺,答案是我應該用我的單元和端到端測試來測試這個API調用,但我希望有人能夠提供清晰度。

回答

1

單元測試的主要目標是測試你的代碼(不管是JavaScrip還是其他)正在做它應該做的事情。每個測試都應該針對靜態或設計的數據完成,而不應該針對API運行。靜態數據爲您提供所需的控制。如果你的代碼需要在X等於7時分支,你可以故意設置這個值,並確認你的代碼確實分支了。當您針對API運行時,您沒有該控件。即使你是控制API的人,對它進行單元測試也是一個不好的習慣。

端到端測試是完全不同的。在這裏,我們沒有測試代碼在細粒度級別上的工作情況(我們已經在單元測試中這樣做了),我們正在測試應用程序作爲一個整體工作。在應用程序中單擊某個特定按鈕時,是否會發生預期的事情?所有預期的元素都出現在頁面上嗎?您仍然需要對已知數據進行測試,這樣做與單元測試同樣重要,但您可以在這裏瞭解應用程序在運行時的反應。一個特定的屏幕加載時間過長了嗎?按了一下按鈕不會給你什麼你的預期?這種測試可以讓用戶點擊應用程序(除非更快)。

您應該在您的應用程序上運行這兩種測試。應該在構建過程中運行單元測試,並在構建完成後運行端到端測試。

+0

謝謝你,v明確的答案,我會投票給你,但沒有足夠的分數:-( –

+0

只是爲了澄清你是否說沒有必要用端到端測試來測試API? –

+0

API應該有自己的測試,你的應用不應該負責測試它,你的測試應該測試你的應用,而不是別人的API。 – MBielski