大家好,我已经完全重写了这个,并且包含了我生成的一些代码。通常情况下,我会首先进行测试,但是我对如何解决这个问题感到迷茫。单元测试控制器功能在NodeJS中发出外部HTTP请求
我想从此功能的单元测试开始。
exports.getMatches = function(callback) {
var url = "http://football-api.comapi/?Action=today&APIKey=" + secrets.APIKey + "&comp_id=1204";
async.waterfall([
function(callback) {
request(url, function (error, response, body) {
if (error) return (error);
var parsedJSON = JSON.parse(body);
var todaysMatches = parsedJSON.matches;
var schedule = new Schedule({
date: dates.today // external module
matches: []
});
_.each(todaysMatches, function (match) {
schedule.matches.push({
match_id: match.match_id,
match_time: match.match_time,
match_localteam_id: match.match_localteam_id,
match_localteam_name: match.match_localteam_name,
match_visitorteam_id: match.match_visitorteam_id,
match_visitorteam_name: match.match_visitorteam_name
});
});
callback(schedule);
});
}
], function(schedule) {
schedule.save(function (err) {
if (err) return (err);
});
done();
});
};
我真的很抱歉没有提供任何形式的进展,因为我只是在这里有一个心理障碍。只有几行代码,但是有太多的事情要做,所以我不确定从哪里开始/怎么模拟/如何模拟它。
是什么问题? – webduvet 2014-10-06 14:02:01
对不起,不清楚。我不确定如何编写测试。我想检查list函数是否有一个变量'parsedJSON',它保存我在'match_in_array'变量中嘲笑的数据。 – 2014-10-06 14:03:46