res.should.have.status gives me error

Try

res.status.should.be.equal(400);

or

 res.should.have.property('status', 400);

And about " 'should' is a unused local variable". It's true. You don't use should directly. Only sideeffects. Try require('should'); instead.


Place the line:

require('should-http');

somewhere in your code. E.g.:

require('should-http');

describe('Test Something', function() {
    ...

As an addition to Yury answer. There is should-http package, which contain .status(code) assertion. You need to require somewhere it in code and it will be added to should.js.