我想讓我的第二個規範失敗,但它不會。我從我的服務器返回statusCode 203
,並且測試將其作爲203
收到,但由於某些原因,expect
塊仍不會引發錯誤。這裏發生了什麼?ChaiJS:不能導致測試失敗
spec.js
var chai = require('chai');
var expect = chai.expect;
var request = require('request');
var localServerUri = 'http://127.0.0.1:3000/';
describe('server http routing', function(done){
it('should receive a status code 200 after GET request', function() {
request(localServerUri + 'pull', function (error, response, body) {
expect(response.statusCode).to.be.at(200);
done();
});
});
it('should receive a status code 201 after POST request', function() {
request.post({url:localServerUri + 'push', form: {key:'value'}}, function(err, response, body) {
//why wont this fail?
console.log(response.statusCode === 201);
expect(response.statusCode === 201).to.be.true;
done();
});
});
});
app.js 變種快遞=要求( '表示'); var app = express();
app.get('/pull', function (req, res) {
res.send('works');
});
app.post('/push', function(req, res) {
res.status(203);
res.send('works');
});
var server = app.listen(3000, function() {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at port', host, port);
});