利用http模块进行post测试

    xiaoxiao2021-12-14  19

    http 模块并非只包含了 HTTP 服务端的功能,它同时还提供了客户端的功能。在这 个测试程序中,我们使用 http.request() 这一工厂方法来创建新的 http 请求对 象,并指定了 options 这个参数。我们通过配置 options 的一系列属性,来让 http. Request 对象按我们的要求运行。

    var http = require("http"); var assert = require("assert"); var options = { host:"127.0.0.1", port:2000, path:"/send", method:"post", headers: {'Content-Type':'application/x-www-form-urlencoded'} }; var request = http.request(options,function(response){ response.setEncoding("UTF8"); var result = ""; response.on("data",function(data){ result += data; console.log(data); }); response.on("end",function(){ assert.strictEqual(result, '{"status":"ok","message":"test"}') }); }); request.write("tweet=I love you"); request.end();

    先运行服务端app.js 然后在其他窗口运行这段代码 其实原理跟我介绍的那个工具(poster)是一个原理,个人认为它就是模拟客户端进行表单提交。 测试用例中将检查 data 变量中的数据是否和我们预期服务器会发送的内容一致。如果服务器运行正常,它将返回一个 JSON 数据。利用 assert.strictEqual 函数,我们能对数据进行“ ===”级别的一致性检查。

    转载请注明原文地址: https://ju.6miu.com/read-963045.html

    最新回复(0)