Я использую Jasmine 2.3
, установленный через NPM и запущенный с помощью Grunt.
'use strict';
module.exports = function(grunt) {
grunt.initConfig({
package: grunt.file.readJSON('package.json'),
exec: {
jasmine: 'node_modules/.bin/jasmine'
}
});
require('load-grunt-tasks')(grunt);
require('time-grunt')(grunt);
grunt.registerTask('default', 'exec:jasmine');
};
Я экспортировал объект приложения Express.js и использовал его в своих спецификациях вместе с SuperTest.
'use strict';
var supertest = require('supertest')
var application = require('../../../../../server');
describe('GET /api/users', function() {
it('should respond with json', function(done) {
supertest(application)
.get('/api/users')
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(200, done);
});
});
Когда я запускаю спецификацию, я не получаю ошибок, хотя ожидался код состояния 200
, а результатом был 404
. Проблема в Jasmine или SuperTest, или, может быть, мне следует использовать SuperAgent.
У меня нет настройки маршрутов, только настройка обработчика ошибок 404
в объекте приложения Express.
application.use(function(request, response, next) {
response
.status(404)
.send({
message: 'not found'
});
});
404
? Не могли бы вы показать нам код вашего маршрутизатора? - person Brennan   schedule 13.05.2015