Javascript 如何使用request js和jasmine测试带有文件上传的nodejs POST web服务?
我用nodeJS(express)创建了一个web服务,它接受一个JSON文件,读取它并将其内容作为文档存储在mongodb中 邮政路线运作良好。代码如下所示Javascript 如何使用request js和jasmine测试带有文件上传的nodejs POST web服务?,javascript,json,node.js,mongodb,jasmine,Javascript,Json,Node.js,Mongodb,Jasmine,我用nodeJS(express)创建了一个web服务,它接受一个JSON文件,读取它并将其内容作为文档存储在mongodb中 邮政路线运作良好。代码如下所示 var multipart = require('connect-multiparty'); var fs = require('fs'); router.post('/', multipartMiddleware, function(req, res) { fs.readFile(req.files.swagger.path, 'u
var multipart = require('connect-multiparty');
var fs = require('fs');
router.post('/', multipartMiddleware, function(req, res) {
fs.readFile(req.files.swagger.path, 'utf8', function(err, data) {
req.body.swagger = JSON.parse(data);
.
.
});
});
describe("POST /", function() {
it("returns status code 200", function(done) {
var req = request.post(base_url, function(error, response, body) {
expect(response.statusCode).toBe(200);
});
var form = req.form();
form.append('file','<FILE_DATA>', {
filename : "sample.json",
contentType : "text/plain"
});
console.log("Form", form);
});
});
基本上,它从req.files
中的JSON文件中提取数据,并放入req.body
对象中
我需要在Jasmine规范文件上做同样的事情。我可以使用POSTman对web服务进行物理测试,但我需要使用jasmine通过规范文件对其进行测试。现在,我想检查web服务是否抛出了一个200 OK
状态,但它抛出了一个500
到目前为止,我的jasmine节点
测试套件如下所示
var multipart = require('connect-multiparty');
var fs = require('fs');
router.post('/', multipartMiddleware, function(req, res) {
fs.readFile(req.files.swagger.path, 'utf8', function(err, data) {
req.body.swagger = JSON.parse(data);
.
.
});
});
describe("POST /", function() {
it("returns status code 200", function(done) {
var req = request.post(base_url, function(error, response, body) {
expect(response.statusCode).toBe(200);
});
var form = req.form();
form.append('file','<FILE_DATA>', {
filename : "sample.json",
contentType : "text/plain"
});
console.log("Form", form);
});
});
描述(“POST/”,函数(){
它(“返回状态代码200”,函数(完成){
var req=request.post(基本url、函数(错误、响应、正文){
expect(response.statusCode).toBe(200);
});
var form=req.form();
append('文件',''{
文件名:“sample.json”,
contentType:“文本/普通”
});
控制台日志(“表格”,表格);
});
});
如何以编程方式将文件上载到nodejs服务器,以便从规范中的
req.files
中提取文件 您是否真的像您的服务器脚本所期望的那样调用字段“file”而不是“swagger”?