0
我正在嘗試使用Jasmine測試REST API調用。任何人都可以請解釋如何處理像Jasmine這樣的異步測試?使用Jasmine測試REST API調用
============================== answer.js ============= =================
var conf = require('../config');
var req = require('request');
var fs = require('fs');
function base64_encode(file) {
\t var file = fs.readFileSync(file);
\t return new Buffer(file).toString('base64');
}
var answers = function(){
\t this.getAnswer = function(id, branchId, locale, question, deviceId){
\t \t var answer;
\t \t req({
\t \t \t url : conf.baseUrl + '/api/v1/answers',
\t \t \t method : 'POST',
\t \t headers: {
\t \t 'content-type': 'text/plain',
\t \t },
\t \t \t body : JSON.stringify({
\t \t \t \t id : id,
\t \t \t \t branchId : branchId,
\t \t \t \t locale : locale,
\t \t \t \t question : base64_encode("./" + question + ".wav"),
\t \t \t \t deviceId : deviceId
\t \t \t })
\t \t }, function(error, response, body) {
\t \t \t if (error) {
\t \t \t \t console.log(error);
\t \t \t } else {
\t \t \t \t answer = JSON.parse(body).answer;
\t \t \t \t console.log(JSON.parse(body).responseText);
\t \t \t \t fs.writeFile("../answer.wav", answer, 'base64',
\t \t \t \t function(err) {
\t \t \t \t \t if (err) {
\t \t \t \t \t \t return console.log(err);
\t \t \t \t \t }
\t \t \t \t \t console.log("file saved successfully!");
\t \t \t \t });
\t \t \t }
\t \t });
\t \t return answer;
\t }
}
module.exports = new answers();
==================== === loan_application_spec.js ======================
var answers_api = require('../requests/answers');
describe("Loan application", function() {
\t it("Ask about loans", function() {
\t \t console.log(answers_api.getAnswer("1234", "HLB_02", "en-US", "input", "robot_01"));
\t });
});
在this.getAnswer = function和return module.exports = Object.create(answers)中有語法錯誤;線。 另外,我得到了您指定的Jasmine代碼的以下錯誤。 TypeError:jasmine.createSpy(...)。和CallFake不是函數 在Object處。 –
我對答案做了一些小的更正。請現在試試。 –
感謝您的回覆。但仍然有一個語法錯誤與返回關鍵字與module.exports = Object.create(答案); 另外,當我執行刪除返回時,我得到以下輸出 –