跳到主要內容

發表文章

目前顯示的是有「unit test」標籤的文章

為什麼執行完npm run test之後畫面會卡住, 每次都要用 ctl+ c 離開

為什麼執行完npm run test之後畫面會卡住, 每次都要用 ctl+ c 離開 到package.json中檢查一下script的test指令 mocha後面是否有帶 --exit的參數 "scripts" : {  "test": " mocha    --exit"   }, Ref: https://github.com/mochajs/mocha/issues/3044

python unit test 單元測試

前言: 隨著專案越寫越大, 我們不可能時常有美國時間做人體debug, 所以Unit Test 的必要性也日益增加, 以下是簡單的介紹, 如何使用python 做單元測試 假設我有一隻 db_helper.py 負責與資料庫溝通, 為了方便說明, 程式碼簡化如下 def get_user_data():      return 'andy lai' Step 1.下載 pytest 模組 $ pip install pytest Step 2. 建立測試腳本 test_mypython.py 此時的工作目錄下有以下這些檔案 db_helper.py test_mypython.py 注意: pytest 會去掃資料夾下 test_ 開頭的所有 python 腳本執行測試, 所以任何測試腳本務必前置 test Step 3. 撰寫測試程式 我們預期呼叫db_helper.get_user_data()之後會得到 'andy lai' import db_helper def test_verify_get_user_data():     expect = 'andy lai'     result = db_helper.get_user_data()     assert expect == result Step 4. 開始測試 在你的工作目錄下執行pytest $ python -m pytest 這個指令的作用等於是, 將目前的工作目錄下所有檔案都掃一遍, 名稱含有test的檔案就會被執行測試 結果: 加入 中斷點除錯 單元測試的過程中有辦法加入 中斷點除錯 嗎? 答案是"可以" 程式需修改如下 import db_helper def test_verify_get_user_data():     expect = 'andy lai'     result = db_helper.get_user_data() ...

十分鐘搞懂Node.js Unit Test (單元測試), 使用 Mocha 和 Chai

前言 基本上Unit test的好處多多, 我們可以專注在新開發的功能上測試, 而不用浪費時間測到一些不相關的部分, 除此之外, 將來在除錯時也容易找到問題 目前有許多套件可以輔助我們做Unit test, 今天著重在如何使用 mocha , chai   建立Test資料夾, 檔案結構如下  /node_modures app.js package.json /test 下載mocha, chai $ npm install mocha --save-dev $ npm install chai --save-dev 修改package.json 加入以下設定 "scripts" : {  "test": " mocha    --exit"   }, --exit 這個flag的作用是, 讓mocha執行完測試後可以自動結束, 這個flag可加也可以不加, 不加的話有可能在跑CICD的Pipeline時會被mocha給卡住 當我們使用npm test 的時候, 就會把 mocha 模組叫起來做單元測試 改完之後的package.json如下: { "name": "my-simple-test", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "test": "mocha --exit" }, ...    test.js 在/test資料夾下建立test.js, 此時檔案架構如下 /node_modures app.js package.json /test test.js 我們可以想要測的部分寫在 it 的 callback function裡, 然後再使用assert去比對結果是否符合預期 開始測試  $ ...