Api在邮递员中传递,但在mocha js

时间:2016-02-27 06:21:03

标签: javascript node.js express mocha web-api-testing

我有一些API,如果我用邮递员测试它的工作正常。但是,如果我尝试在mocha js中使用相同的数据测试该API,则某些API正在运行,并且有些正在给我一个错误,例如" 500内部服务器错误"和#34; 400错误请求"。

我确信我在邮递员和摩卡测试脚本中都传递了相同的数据,相同的请求和相同的授权详情。

我在摩卡尝试了这个,我在邮递员中传递相同的数据,而不是为什么摩卡给我和这样的错误。我的所有服务器和数据库都运行良好。

it("Updating User details: ", function (done) {
        server
            .put(apiUrl + "/user")
            .set({
                "name": "Vinay Pandya",
                "photo": "http://tamilcinema.com/wp-content/uploads/2015/05/madhavan.jpg",
                "email": "mail@mail.com",
                "gender": "M"
            })
            .set({"Authorization": token})
            .expect(200)
            .end(function (err, res) {
                if (err)
                    throw err;
                res.status.should.equal(200);
                res.body.status.should.equal("success");
                //console.info(JSON.stringify(res.body));
            });
        done();
    });

2 个答案:

答案 0 :(得分:0)

您应该将$post= [ "title", "date", "body", "name" ]; 调用放在异步请求中。所以要修改你的示例代码:

done

答案 1 :(得分:0)

我解决了这个问题。我使用SET()而不是SEND()。如果我想发送数据,我应该使用SEND()。 SET()用于设置api请求的标头。

Frame