POST 요청 테스트의 콜백이 호출되는 곳을 간단하게 테스트 할 수 있습니다. 서버 로그에서 요청이 만들어진 것을 볼 수는 있지만 멈추는 것처럼 보입니다.재스민 테스트 실패
저는 노드로 작업/테스트를하는 데 매우 익숙하므로 뭔가 간단한 것을 놓치고있는 좋은 기회가 있습니다.
업데이트 : 나는 원래 커피 스크립트를
UPDATE를 추가 한 : 원래 커피 스크립트를 실행하면 파일이 직접 jasmine-node foo/bar/users.spec.coffee --coffee
실행하면 작동하지만 모든 커피 파일 jasmine-node foo/bar --coffee
를 실행할 때 실패합니다. 나는의 .js로 .coffee 파일을 변환 (모든 반환에 보관)과 동일한 문제를 보았다 (I 개별적으로 파일을 실행하면 콜백이 실행됩니다,하지만 그들 모두 실행할 때 실패)
# original coffeescript
assert = require 'assert'
request = require 'request'
describe 'User API', ->
describe 'Signup', ->
url = 'http://localhost:3000/users'
params = null
beforeEach (done) ->
params =
url: url
form:
firstName: 'John'
lastName: 'Smith'
email: '[email protected]'
password: 'foobar'
role: 'member'
done()
it 'returns a 200 OK on valid user signup', ->
request.post params, (err, resp, body) ->
console.log "***************"
console.log "in the callback"
console.log "***************"
assert.equal resp.statusCode, '200'
done()
// the converted js
var assert, request;
assert = require('assert');
request = require('request');
describe('User API', function() {
return describe('Signup', function() {
var params, url;
url = 'http://localhost:3000/users';
params = null;
beforeEach(function(done) {
params = {
url: url,
form: {
firstName: 'John',
lastName: 'Smith',
email: '[email protected]',
password: 'foobar',
role: 'member'
}
};
return done();
});
return it('returns a 200 OK on valid user signup', function() {
return request.post(params, function(err, resp, body) {
console.log("***************");
console.log("in the callback");
console.log("***************");
assert.equal(resp.statusCode, '200');
return done();
});
});
});
});
coffeescript가 제안한 것을 렌더링 할 수 있도록 * it * 명령문 바로 뒤에 return 문을 추가했지만 동일한 결과를 얻었습니다. 원래의 coffeescript를 보여주기 위해 위의 코드를 업데이트했습니다 (추가 반환없이). 아직 코드가 작동하지 않는다고 제안한 코드가 있습니다. https://gist.github.com/chrisolsen/66744e64225d575b2a43 – chris
원래 게시물에서 두 번째 업데이트가 해결되지 않는 이유를 확인하십시오. – chris