在使用mocha的api时保持客户端状态

时间:2016-03-07 16:44:13

标签: node.js testing mocha

我的api可以被要求创建一个对象,然后要求更新同一个对象,所以我的测试文件会这样做...

var foobarId;  // this might be a mistake

it("should create a single foobar", function(done) {
    server
        .post("/foobar?key=value")
        .expect("Content-type", /json/)
        .expect(200)
        .end(function(err, res) {
            res.status.should.equal(200);
            res.body.should.have.property('key', 'value');
            foobarId = res.body._id;
        done();
    });
});

it("should return a foobar when I get one", function(done) {
    server
        .get("/foobar/" + foobarId)
        .expect("Content-type", /json/)
        .expect(200)
        .end(function(err, res) {
            res.status.should.equal(200);
            res.body.should.have.property('key', 'value');
        done();
    });
});

这是错的,我在这里尝试? (1)当我在测试中获得更多逻辑时,我冒险在测试中创建逻辑错误并需要测试我的测试。 (2)当创建失败时,我的控制台输出变得丑陋......首先,我期望的断言错误并且需要告诉我测试失败,但是我认为这是丑陋的回溯,因为foobarId未定义。

丑陋让我觉得摩卡(或超级或任何地方)的优秀人才不会指望我做我正在做的事情。

有没有正确的方法来编写这种测试?

0 个答案:

没有答案