今天早上繼續研究mocha,忽然發現乙個問題,我的大部分程式都是需要登入驗證的,所以需要預先登入之後才能進行下一步測試,就開始在網上找答案,發現沒有這種資料,很疑惑,最後發現其實是自己太笨了,因為這個問題在node中太簡單了,解決方案如下
修改bootstrap.test.js,如下
var sails = require('sails'),sails;
var request = require('supertest');
var port = 1447; //測試啟動埠
agent = request.agent('http://localhost:'+port); //伺服器連線,全域性變數
before(function (done) ,
port:port
}, function (err, server) else );
} });
});after(function (done) , 1000);
} else
});});
增加了全域性變數agent = request.agent('http://localhost:'+port),這個變數可以在以後發起請求,同時啟動sailsjs之後,直接登入,以後測試controllers時,就只需要呼叫agent.get()或者agent.post()就可以了,前面的controller測試usercontroller.test.js修改如下:
var should = require('should');describe('userscontroller', function () );
});});
});
其中/user/test的返回值格式為{authenticated: true},如果已經登入則返回true,否則返回false。
執行npm test,結果如下
1 passing (8s)
很簡單就解決了,記錄下來備忘吧。
單元測試學習筆記
什麼是單元測試 單元在程式裡可以簡單的理解為乙個模組,乙個方法。單元測試也就是在完成每個模組後都進行的測試。從確保每個模組沒有問題,從而提高整體的程式質量。做單元測試的好處 對於真正的高手可能是不需要使用單元測試的,根據 軟體工藝 裡的描述,真正的高手出現問題很少,而且發現問題很早,往往在使用者還沒...
學習筆記之單元測試
1.單元測試是開發人員編寫的小段 用於檢測 乙個明確功能的小模組是否正確 通常來判斷沒有個方法和某乙個類的行為 白盒測試 開發人員知道內容的邏輯的實現 開發人員最大受益者 2.junit單元測試框架 成百上千的單元測試用例怎麼組織 suite套件 對exception進行測試 try.catch.兩...
學習筆記 js單元測試
斷言模組 單元測試 模組測試 是開發者編寫的一小段 用於檢驗被測 的乙個很小的 很明確的功能是否正確。通常而言,乙個單元測試是用於判斷某個特定條件 或者場景 下某個特定函式的行為。單元測試的目標一般是公共函式庫,由程式設計師自己完成測試。mocha 是乙個測試框架,自己已經提供了一套斷言,但是,我們...