몽구스 모델의 가상 속성을 스텁하는 방법이 있습니까?몽구스 모델의 스터 빙 가상 속성
Problem
은 모델 클래스이고 difficulty
은 가상 속성이라고 가정합니다. delete Problem.prototype.difficulty
은 false를 반환하고 속성은 그대로 있으므로 원하는 값으로 대체 할 수 없습니다.
var p = new Problem();
delete p.difficulty;
p.difficulty = Problem.INT_EASY;
그것은 작동하지 않았다
을 시도했다. 문자열 속성의 어려움을 래핑하는 시도 : 오류 "형식 오류를 슬로우var p = new Problem();
sinon.stub(p, 'difficulty').returns(Problem.INT_EASY);
을하는 동안,"재산 '의 범위를'정의의 읽을 수 없습니다 형식 오류 "Problem.prototype.difficulty
에 정의되지 않은 할당하거나 예외를 던질 것 sinon.stub(Problem.prototype, 'difficulty').returns(Problem.INT_EASY);
를 사용
기능으로 ".
아이디어가 부족합니다. 도와주세요! 감사!
재정의'하나를 포함, 조언,하지만 sinon와 스텁 것은 형식 오류가 발생합니다 : 정의되지 않은 재산 '생성자'을 읽을 수 없습니다. 그래서 첫 번째 해결책을 사용했습니다. 감사! –
나는 나를 위해 일하는 sinon으로 완전한 예제를 올렸다. ([email protected], [email protected], [email protected]). –
예제의 problemSchema에'regionId'를 추가했습니다. 이제 sinon으로 스터 빙 한 후에 regionId를 할당 할 수 없습니다. 그래서 내가'[ 'Silversword', 'Ainsley Field']를 주장하려고 할 때 오류가 발생했습니다. should.include (p.regionId); ' –