一,创建测试http接口的脚本
在后端开发中,在实现一条协议、逻辑代码时如何自主展开测试呢?这个问题就是本主题要解决的问题。我们可以使用Node.js中的htt模块的request函数向我们的后端直接发送Htpp请求,创建文件Server/test/testHttp.js编写代码如下:
var http = require('http');
var userInfo = {};
var httpTest = function(path, reqData, callBack) {
var options = {
hostname : '127.0.0.1',
port: 8181,
path: '/' + path + '/?' + reqData,
method : 'GET'
}
var req = http.request(options, function(res){
console.log('STATUS : ' + res.statusCode);
res.setEncoding('utf8');
res.on('data', function(chunk){
console.log('BODY: ' + chunk);
callBack && callBack(chunk);
});
});
req.on('error', function(e) {
console.log('problem with request : ' + e.message);
});
req.end();
}
httpTest('register', 'userName=www&passWord=123', function(body) {
console.log('register come in body = ' + body);
});
// httpTest('login', 'userName=www&passWord=123', function(body){
// var info = JSON.parse(body);
// console.log('login CB = ' + JSON.stringify(info.error));
// if (info.error == 0) {
// userInfo['userId'] = info.data.id;
// userInfo['token'] = info.data.token;
// console.log('userInfo = ' + JSON.stringify(userInfo));
// }
// });
二,运行测试用例
- 启动后端服务;
- 在命令行里进入到test.js所在文件夹下,运行node test.js:
运行结果
可以看到第一次运行注册成功,返回用户ID和用户名,第二次运行返回用户名已存在。
三,不足
以上写法,没有实现自动化测试,在测试注册协议时需要把登录协议的代码注释掉,在运行登录协议代码时需要把注册协议代码注释掉。接下来的改进思路是实现自动化、可配置化的测试方式。
上一篇 用户长连接的管理
网友评论