0
노드와 모카를 배우고 있으며 아래에 테스트가 있습니다 (프로덕션 코드가 데이터베이스의 필드를 증가시킵니다).모카와 중첩 콜백을 사용하는 노드 서버 테스트
작동 여부를 확인하려면/events에 대한 호출 전후에이 필드의 값을 출력합니다 (두 console.log 문 참조).
현재 두 경우 모두 값 출력은 1입니다. 테스트가 끝난 후 코드가 제대로 작동하고 필드가 증가합니다.
필자는 테스트 코드의 콜백과 관련이 있다고 생각합니다. (필자는 노드 코드를 올바르게 작성하고 테스트하는 법을 배우기 때문에 거의 확실합니다).
누군가가 문제를 파악할 수 있기를 바랍니다. 이 테스트중인 생산 코드는 here (요지)입니다.
it('"processed" event increases processed count', function(done) {
Edm.find({campaignguid: '1234'}).success(function(edm) {
edmProcessedCount = edm.processed;
console.log("pre: " + edmProcessedCount); // result is 1
request.post('http://localhost:3001/events?campaignguid=1234&event=processed', function(err, res, body) {
Edm.find({campaignguid: '1234'}).success(function(edmm) {
console.log("post : " + edmm.processed); // result is 1 (should be 2)
done();
});
})
});
});
당신이 게시물을 확인하지 떨어져, 괜찮아 보이는 코드를'err' 확인합니다 . post()'. '/ events'에 대한 핸들러의 구현과 관련이있을 수 있으므로이를 게시하는 것이 유용 할 수 있습니다. – robertklep
edm 및 edmm 인수는 단지 2 개의 별도 변수이므로 Edm.find에 대한 코드를 표시해야한다고 생각합니다. 현재이 코드에는 아무 것도 없으며 하나이고 동일하고 카운터라고 암시하는 내용은 없습니다. – AndyD
@AndyD'Edm.find'는 Sequelize 구조체입니다 ('Edm'은 모델이고,'find'는 데이터베이스를 쿼리하는 메소드입니다). – robertklep