我的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
未定义。
丑陋让我觉得摩卡(或超级或任何地方)的优秀人才不会指望我做我正在做的事情。
有没有正确的方法来编写这种测试?