2014-07-21 4 views
0

저는 Javascript에 매우 익숙하며 제가 참여한 프로젝트에 대한 테스트를 작성하려고합니다. I는 다음과 같이 프로그램의 파일이 있습니다재스민으로 테스트 요구 사항

define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'backbone/models/beat', 
    'colors', 
    'app/dispatch', 
    'app/log' 
], function($, _, Backbone, BeatModel, COLORS, dispatch, log){ 
    return Backbone.View.extend({ 

    getOpacityNumber : function(bool) { 
     //code 
    }, 

    unroll: function(){ 
     //code 
    } 
    }); 
}); 

을 그리고 테스트에서 이러한 기능에 액세스하는 방법을 알아낼 수 없습니다. 나는 (내가 잘못하고있을 수도 있지만) 거기에서이 같은 함수를 호출하는 객체를 인스턴스화 시도했다 :

describe("beatView.js", function() { 
    beforeEach(function() { 
      var b = new beatView(); 
    }); 

    spyOn(console, "log"); 

    it("test the console log", function() { 
     b.unroll(); 
     expect(console.log).toHaveBeenCalled(); 
    }); 
}); 

을하지만 그것을 실행할 때 나는 재스민 변수 B를 찾을 수있는 참조 오류가 발생합니다. 내가 누락 된 것이 있습니까? 올바른 방향으로 나를 가리킬 수있는 도움을 주시면 감사하겠습니다.

답변

1

는 다음과 같은 시도 :

describe("beatView.js", function() { 
    var b = null; 
    beforeEach(function() { 
      b = new beatView(); 
    }); 

    spyOn(console, "log"); 

    it("test the console log", function() { 
     b.unroll(); 
     expect(console.log).toHaveBeenCalled(); 
    }); 
}); 
+0

이제는 변수 b를 찾을 수 있지만 이제는 ReferenceError : 변수를 찾을 수 없습니다 : beatView' 객체를 참조하는 방법을 모르겠습니다. – JoeBruzek

0

내가 잘 재스민 들거 모르지만, 수 없습니다 당신은 require() 전화의 내부 단지 describe() 테스트?

require(["beatView"], function (beatView) { 
    describe(...); 
});