2014-09-08 10 views
2

NoFlo 구성 요소 (동료가 작성)에 테스트 케이스를 작성하려고합니다. 구성 요소에는 "inPort"포트와 "outPort"오류 포트가 있습니다. 는 외항을 통해 오류를 보내도록 내가 (테스트 케이스에) 잘못된 상황을 시뮬레이션하는 방법에 따라서이 코드 패턴에 따라MongoDB에서 'error'이벤트를 시뮬레이트하는 방법

var self = this; // a NoFlo Component 
var mongodb = null; 

self.inPorts.connect.on("data", function(uri) { 
    mongodb = mongojs(uri); 

    self.outPorts.connected.send(mongodb); 

    mongodb.on("error", function(error) { 
     self.outPorts.error.send(error); 
    }); 
}); 

?

"lcalhost : 99999/abcdef"와 같은 잘못된 URI를 보내려고했지만 작동하지 않습니다.


업데이트이 : 원래의 코드가 "연결"외항을 통해 mongodb 인스턴스를 전송, 나는 성공적으로 "오류"이벤트를 방출 할 캐시.

답변

3

mongojsEventEmitter입니다.

mongodb이 전역 일 경우 이벤트를 활성화하려면 mongodb.emit("error", "This is an error")으로 전화하십시오.

mongodb이 정의되지 않은 경우 self 값을 사용해보십시오.

상세 정보 :

+0

감사합니다! 'mongodb '는 전역 적이 지 않지만 테스트 케이스에서는 캐시 할 수 있습니다. * 이것을 반영하도록 코드를 업데이트했습니다. * –

관련 문제