如何编写CLI节点应用程序的测试用例

时间:2018-09-06 14:15:12

标签: testing

这是一个节点CLI应用程序,可从外部天气API中获取数据。我调用此API并解析数据。但是现在我不确定如何编写测试用例吗?

我想编写3-4个类似(1)的测试用例,如果用户不包含城市名称,请检查它是否给出与应用程序中相同的错误消息。 (2)在dataParse()函数中,我正在使用最终数据创建一个数组。我需要编写测试用例-一个西雅图城市的例子-它显示正确的数据。

我该怎么办?

var fs = require('fs');
var fetch = require("node-fetch");
start();
// parse command line arguments
function start()
{
if (process.argv.length < 3) {
console.error("Missing city name.");
}
var name = process.argv[2];
getAPIdata(name, dataParse);
// fetch json data for package
function getAPIdata(name, callBack) 
{
const API_KEY = 'some_key';
fetch('http://api.openweathermap.org/data/2.5/forecast?appid=${API_KEY}'.concat(name))
.then(res=>res.json())
.then(json => {
  if (json.hasOwnProperty('error') && json['error'] == 'Not found')
    console.error("Invalid city name \'" + name + "\'." );
  else
    callBack(json, createRes);
  })
.catch(err => console.error("Network error."));
}
function dataParse(res, callBack) 
{
// some logic
callBack(arguments);
}
function createRes(arguments) {
// some logic
}

0 个答案:

没有答案