我使用nodeJS(express)创建了一个Web服务,该服务接收一个JSON文件,读取它并将其内容作为文档存储在mongodb中。
POST路由正常。代码看起来像这样
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);
.
.
});
});
基本上,它从req.files
中的JSON文件中获取数据并放入req.body
对象内。
我需要在Jasmine spec文件上完成相同的操作。我能够使用POSTman对Web服务进行物理测试,但我需要使用jasmine通过spec文件对其进行测试。目前,我想检查网络服务是否会引发200 OK
状态,但它会抛出500
到目前为止,我的jasmine-node
测试套件看起来像这样
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);
});
});
如何以编程方式将文件上传到nodejs服务器,以便我可以在我的规范中从req.files
获取文件?