Tried to put this in a comment above, formatting wasn’t working out.
I’m using async, which is really standard and works really well.
it('should respond to only certain methods', function(done) {
async.series([
function(cb) { request(app).get("https://stackoverflow.com/").expect(404, cb); },
function(cb) { request(app).get('/new').expect(200, cb); },
function(cb) { request(app).post("https://stackoverflow.com/").send({prop1: 'new'}).expect(404, cb); },
function(cb) { request(app).get('/0').expect(200, cb); },
function(cb) { request(app).get('/0/edit').expect(404, cb); },
function(cb) { request(app).put('/0').send({prop1: 'new value'}).expect(404, cb); },
function(cb) { request(app).delete('/0').expect(404, cb); },
], done);
});