数码资讯
用js做功能测试的实现
信息 在上周的会议上,同事们说,他们现在用java编写功能测试,产生大量的冗余代码,以及整个项目变得更加臃肿,有一个简单的模板工程快速建立功能测试的迫切需要。 然后我又想,为什么我们要用java做的功能测试 Node.js应该是一个不错的选择,有一个自然支持JSON,然后回到搜索GitHub,还真有
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
信息
在上周的会议上,同事们说,他们现在用java编写功能测试,产生大量的冗余代码,以及整个项目变得更加臃肿,有一个简单的模板工程快速建立功能测试的迫切需要。
然后我又想,为什么我们要用java做的功能测试
Node.js应该是一个不错的选择,有一个自然支持JSON,然后回到搜索GitHub,还真有相关项目:睾酮,那么这篇文章的博客。
服务器
要做demo,自然要有相应的服务器来支持。
这里我们选择Express作为服务器。
首先,我们建立一个服务器文件夹,建立一个新的package.json。
复制代码代码如下所示:
{
名称:酒窖
说明:酒窖应用程序
版本:0.0.1
私有:正确,
依赖项:{
Express:3
}
}
下次运行命令
复制代码代码如下所示:
NPM安装
所以快递就要安装了。
我们实现了几种简单的GET POST方法来做实验。
复制代码代码如下所示:
VaR表示=需要('express)
表示();
app.use(express.bodyparser());
app.get(你好功能(REQ,RES){
res.send(Hello World);
});
app.get(/功能(REQ,RES){
setTimeout(){()函数(
res.writehead(200,{ 'content-type:中/平原});
res.end();
},200);
});
app.get(/你好功能(REQ,RES){
如果(req.param(你好)!=未定义的){
res.writehead(200,{ 'content-type:中/平原});
res.end(你好!);
{人}
res.writehead(500,{ 'content-type:中/平原});
res.end(将后改);
}
});
app.post(/你好功能(REQ,RES){
setTimeout(){()函数(
res.writehead(200,{ 'content-type:中/平原});
res.end(req.param(消息的)消息的| |);
},100);
});
app.get( /用户,功能(REQ,RES){
Res.send(
{
{姓名:杰克},
{姓名:汤姆}
}
);
});
app.get( / /:用户ID功能(REQ,RES){
res.send({
身份证:1,
名称:节点js
说明:我是节点js
});
});
app.post( /用户/编辑功能(REQ,RES){
setTimeout(){()函数(
res.send({
身份:req.param('id'),
现状:1
});
},100);
});
(3000)app.listen;
Console.log ('Listening on port 3000... ;
睾酮
服务器已经设置好了,开始测试是很自然的。
项目接口的名称是优雅的,直接在代码上。
首先是测试基本功能。
复制代码代码如下所示:
VaR睾酮=需要('testosterone({ })端口:3000)
资产= testosterone.assert;
睾酮
获取(),函数(RES){
assert.equal(res.statuscode,200);
})
获取(),函数(RES){
assert.equal(res.statuscode,500);
})
。后(' /嗨,{数据:{消息:'hola} },{
现状:200
身体:'hola
});
然后对上面的用户进行了简单的测试。
复制代码代码如下所示:
VaR睾酮=需要('testosterone({ })端口:3000)
资产= testosterone.assert;
睾酮
获取(用户,函数(RES){)
无功expectres = {
{姓名:杰克},
{姓名:汤姆}
};
assert.equal(res.statuscode,200);
assert.equal(JSON.stringify(JSON.parse(res.body))、JSON.stringify(expectres));
})
获取(1)、函数(RES){
无功用户= JSON.parse(res.body);
assert.equal(res.statuscode,200);
Assert.equal (user.name, node JS);
assert.equal(user.description,我结JS );
})
下一步,如果您想在每次测试时对每个测试用例进行描述,那么您可以:
复制代码代码如下所示:
VaR睾酮=需要('testosterone ')({端口:3000,标题:测试用户API })
添加= testosterone.add
资产= testosterone.assert;
睾酮
添加(。
将用户ID授予+
当它有响应用户时+
然后应该返回用户JSON,
函数(CB){
testosterone.get( /用户/ 1,CB(功能(RES){)
无功expectres = { {
身份证:1,
名称:节点js
说明:我是节点js
};
assert.equal(res.statuscode,200);
assert.equal(JSON.stringify(JSON.parse(res.body))、JSON.stringify(expectres));
});
})
添加(。
给定一个帖子,用户信息到用户/编辑+
查找修改成功+
然后,它应该resturn状态1,
函数(CB){
testosterone.post( /用户/编辑{数据:,{编号:1,名称:改名} },CB(功能(RES){
VaR既= JSON.parse(res.body);
assert.equal(res.status,1);
});
}
)
运行(函数){()
要求('sys('done打印)!;
});
结论
通过上面的代码,你可以看到,用java长HTTP头,睾酮是非常简单的和优雅的。
在上周的会议上,同事们说,他们现在用java编写功能测试,产生大量的冗余代码,以及整个项目变得更加臃肿,有一个简单的模板工程快速建立功能测试的迫切需要。
然后我又想,为什么我们要用java做的功能测试
Node.js应该是一个不错的选择,有一个自然支持JSON,然后回到搜索GitHub,还真有相关项目:睾酮,那么这篇文章的博客。
服务器
要做demo,自然要有相应的服务器来支持。
这里我们选择Express作为服务器。
首先,我们建立一个服务器文件夹,建立一个新的package.json。
复制代码代码如下所示:
{
名称:酒窖
说明:酒窖应用程序
版本:0.0.1
私有:正确,
依赖项:{
Express:3
}
}
下次运行命令
复制代码代码如下所示:
NPM安装
所以快递就要安装了。
我们实现了几种简单的GET POST方法来做实验。
复制代码代码如下所示:
VaR表示=需要('express)
表示();
app.use(express.bodyparser());
app.get(你好功能(REQ,RES){
res.send(Hello World);
});
app.get(/功能(REQ,RES){
setTimeout(){()函数(
res.writehead(200,{ 'content-type:中/平原});
res.end();
},200);
});
app.get(/你好功能(REQ,RES){
如果(req.param(你好)!=未定义的){
res.writehead(200,{ 'content-type:中/平原});
res.end(你好!);
{人}
res.writehead(500,{ 'content-type:中/平原});
res.end(将后改);
}
});
app.post(/你好功能(REQ,RES){
setTimeout(){()函数(
res.writehead(200,{ 'content-type:中/平原});
res.end(req.param(消息的)消息的| |);
},100);
});
app.get( /用户,功能(REQ,RES){
Res.send(
{
{姓名:杰克},
{姓名:汤姆}
}
);
});
app.get( / /:用户ID功能(REQ,RES){
res.send({
身份证:1,
名称:节点js
说明:我是节点js
});
});
app.post( /用户/编辑功能(REQ,RES){
setTimeout(){()函数(
res.send({
身份:req.param('id'),
现状:1
});
},100);
});
(3000)app.listen;
Console.log ('Listening on port 3000... ;
睾酮
服务器已经设置好了,开始测试是很自然的。
项目接口的名称是优雅的,直接在代码上。
首先是测试基本功能。
复制代码代码如下所示:
VaR睾酮=需要('testosterone({ })端口:3000)
资产= testosterone.assert;
睾酮
获取(),函数(RES){
assert.equal(res.statuscode,200);
})
获取(),函数(RES){
assert.equal(res.statuscode,500);
})
。后(' /嗨,{数据:{消息:'hola} },{
现状:200
身体:'hola
});
然后对上面的用户进行了简单的测试。
复制代码代码如下所示:
VaR睾酮=需要('testosterone({ })端口:3000)
资产= testosterone.assert;
睾酮
获取(用户,函数(RES){)
无功expectres = {
{姓名:杰克},
{姓名:汤姆}
};
assert.equal(res.statuscode,200);
assert.equal(JSON.stringify(JSON.parse(res.body))、JSON.stringify(expectres));
})
获取(1)、函数(RES){
无功用户= JSON.parse(res.body);
assert.equal(res.statuscode,200);
Assert.equal (user.name, node JS);
assert.equal(user.description,我结JS );
})
下一步,如果您想在每次测试时对每个测试用例进行描述,那么您可以:
复制代码代码如下所示:
VaR睾酮=需要('testosterone ')({端口:3000,标题:测试用户API })
添加= testosterone.add
资产= testosterone.assert;
睾酮
添加(。
将用户ID授予+
当它有响应用户时+
然后应该返回用户JSON,
函数(CB){
testosterone.get( /用户/ 1,CB(功能(RES){)
无功expectres = { {
身份证:1,
名称:节点js
说明:我是节点js
};
assert.equal(res.statuscode,200);
assert.equal(JSON.stringify(JSON.parse(res.body))、JSON.stringify(expectres));
});
})
添加(。
给定一个帖子,用户信息到用户/编辑+
查找修改成功+
然后,它应该resturn状态1,
函数(CB){
testosterone.post( /用户/编辑{数据:,{编号:1,名称:改名} },CB(功能(RES){
VaR既= JSON.parse(res.body);
assert.equal(res.status,1);
});
}
)
运行(函数){()
要求('sys('done打印)!;
});
结论
通过上面的代码,你可以看到,用java长HTTP头,睾酮是非常简单的和优雅的。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。