节点:Mocha TDD 在正文中发送数组

Node: Mocha TDD sending Array in body

以下是我需要在请求中发送的正文格式:

[{
  "user_id": "861",
  "username": "userA",
  "friend_id": "1270"
},
{
  "user_id": "861",
  "username": "userB",
  "friend_id": "1270"
}]

我创建了以下测试:

describe('POST /friends/add', () => {
    it('should return an array of Friend Objects ', (done) => {
        request(app)
            .post('/friend/add')
            .set('auth', token)
            .send([
                {
                    "user_id": authUserId,
                    "username": filteredUsers[0].username,
                    "friend_id": filteredUsers[0].id
                }, {
                    "user_id": authUserId,
                    "username": filteredUsers[2].username,
                    "friend_id": filteredUsers[2].id
                }, {
                    "user_id": authUserId,
                    "username": filteredUsers[3].username,
                    "friend_id": filteredUsers[3].id
                }
            ])
            .expect(200)
            .expect((res) => {
                expect(res.body.email).toBe(email)
            })
            .end((err, res) => {
                if (err) {
                    return done(err)
                }
                return done()
            })
    })
})

问题:.send([{ }])是按照上述格式创建body参数吗?一组对象?

API 你用于测试查询看起来像 SuperTest, which under the hood uses SuperAgent. Here is SuperAgent documentation for send.

所以是的,它将使用您的数组,将其转换为 JSON 并将其以正文形式发送到您正在测试的端点。