javascript - 动态添加表单数据并附加文件到超级测试中
问题描述
我有来自超测的以下要求:
let response =
await request(app)
.post('/api/upload/');
I also have two objects that are named file and formData.
file: {
BufferData: <Buffer 00 24 43 ...>
name: 'an_image.jpg'
}
formData: [{
key: 'KeyTest',
value: 'ValueTest',
}]
formData 可以接受由 key 和 value 组成的多个 formdata 值,因此它是一个对象数组。现在我希望这个请求是完全动态的,如果存在像上面这样的文件对象,我想添加 .attach(etc..); 如果存在非空的formdata数组,我想为该arrat中的每个对象添加.field。我该如何做到这一点?我认为这只是简单的 Javascript,但我遇到了死胡同。
更清晰的示例:
let response =
await request(app)
.post('/api/upload/')
.attach(file, etc..) // ONLY IF THE FILE OBJECT EXISTS
.field(formdata1) ONLY IF FORMDATA ARRAY IS NOT EMPTY
.field(formdata2)
解决方案
推荐阅读
- grafana - Grafana 面板阈值背景颜色默认
- javascript - 让代码等待弹出窗口打开,然后抓取弹出窗口
- c# - 如何使用 WCF 修复损坏的服务并在 WPF 中返回数据?
- r - 在网格中排列分面图 - 如何完全删除分面标签以避免重叠
- reactjs - 如何修复使用 moxios 测试 react/redux 应用程序的“网络错误”
- user-interface - 对于来自两个不同集合的项目的一对一分配,UI/UX 模式及其优缺点是什么?
- algorithm - 从多个 2D 点构造线并测量这些线之间的距离
- java - java中享元设计模式,目的是什么?
- bash - 从文件中读取一行,将行替换为另一个文件
- java - 我们如何使用 JCodeModel 生成此方法