一個測試web應用程序的Mocha測試
理解Node的web應用程序測試的訣竅就是學會用http來思考問題。本章的技巧就從一個Mocha的測試開始,並且配合Node的http的核心模塊來展開。一旦掌握和理解了這種編寫測試方法的原理,後面就會通過引入第三方的http測試模塊來展示如何簡化測試。我們將會首先展示內置的http模塊,因為這有助於理解背後到底發生了什麼,然後在此基礎之上,學會如何構建這樣的測試。下面的代碼展示了一個測試用例:
這個函數用於在測試中發送http請求。
收到請求後,收集要發送給客戶端的數據。
當請求和響應都結束後,執行回調函數。
當遇到非法請求時候,可以拋出異常。
這個例子用於測試一個可以計算平方值的web服務。它是一個很簡單的web服務,用於期望得到一個GET請求,並且能夠以純文本的形式給予響應。這個測試目的就是確保返回的值是自己期望的值,並且當遇到非法請求的時候,服務可以拋出異常。這個測試目的是在模擬瀏覽器的行為——或者其他的http客戶端,或者諸如此類的業務。服務端和客戶端都運行在同一個進程中。
上面的例子,首先創建一個實現http請求的函數方法。這就節省了很多重複代碼,不然類似代碼將會在測試用例中到處都是。當然這個方法可以放到一個獨立的模塊中,這樣就可以在其他的測試文件中被調用。當一個請求發出後,並且有數據從伺服器上返回時,它將會監聽一個data事件。然後接著運行它提供的那個回調,這個回調是從測試用例中傳入進去的。
※簡單的Mocha測試項目的package.json配置文件
※一個關於test測試腳本的pakcage.json配置文件
※Node創建自定義的斷言
※用內置的模塊編寫測試
※模擬PayPal的IPN請求
TAG:行家匯 |
※Facebook 測試Downvote負評功能,將進行小範圍內測
※針對weblogic測試的一些小總結
※從論文到測試:Facebook Detectron開源項目初探
※Python只適合測試?
※如何用 Python 測試 Android 應用
※關於PWA-Progressive Web App的一些測試思考
※使用 BenchmarkDotnet 測試代碼性能
※Google正在測試新Gmail中測試自毀郵件
※Android應用測試速查表
※Ansible Tower的安裝與基本功能測試
※Linux下使用Speedtest測試網速
※用 jest 單元測試改善老舊的 Backbone.js 項目
※有潛在數據泄露行為 Facebook暫停CubeYou答題測試行為
※python下的測試利器pytest
※使用Egressbuster測試防火牆出站規則
※Python錯誤、調試和測試
※Mac 福音,Radeon ProRender插件Mac測試版來了!
※Web Service和Web API滲透測試指南(一)
※全球匯款公司Western Union測試Ripple技術
※Crytek的多人射擊遊戲Hunt:Showdown關閉alpha測試