2014-03-24 2 views
0

나는이 같은 자바 스크립트에서 정의한 클래스가 있습니다내보내기 기능/클래스

내가 사용하여이 그래서 난 모카에서 테스트 할 수 있습니다 수출 할 수 있어야합니다
var CoolClass = function() { 
    this.prop1 = 'cool'; 
    this.prop2 = 'neato'; 
} 

CoolClass.prototype.doCoolThings = function(arg1, arg2) { 
    console.log(arg1 + ' is pretty ' + this.prop1; 
} 

modules.export = CoolClass; 

필요하다. 그러나 나는 여전히이 클래스가 브라우저에서 인스턴스화되도록 허용하고 싶다.

현재로서는 브라우저에 이것을로드하고 인스턴스화 할 수 있습니다.

exports.someFunction = function(args){}; 

하지만 지금은 그냥 하나를 내보낼 것을를 사용하여

는 일반적으로 I 내보내 여러 단일 기능 (분명 내가 키워드 '수출'또는 '모듈'을 이해하지에 대해 콘솔에서 오류가 발생) 함수에서 프로토 타입 체인을 통해 추가 한 메서드 중 어느 것도 정의되어 있지 않습니다.

나는 module.exports를 시도했지만 트릭도하지 않는 것 같습니다. 이 난처하게됩니다 곳

var expect = require('chai').expect; 
var coolClass = require('../cool-class.js'); 
var myCoolClass; 

beforeEach(function() { 
    myCoolClass = new coolClass();// looks like here is where the issue is 
}); 

describe('CoolClass', function() { 
    // if I instantiate the class here, it works. 
    // the methods that were added to CoolClass are all undefined 

}); 

그것은 모카 내 beforeEach처럼 보인다는 : 내 모카 사양이 같은 파일이 필요합니다. 실제 스펙에서 클래스를 인스턴스화 할 수 있으며 잘 작동합니다.

+1

아래 답변을 시도해 주시겠습니까? 나는 당신이 전에 부모님이 묘사 할 필요가 있다고 생각합니다. 내 대답에 대한 세부 사항. – aiapatag

답변

1

mochajs의 경우 을 부모 describe에 넣고 자녀의 특정 시나리오를 describe으로 지정해야합니다. 또는 beforeEach에서 완료 한 작업은 describe에 의해 인식되지 않습니다. myCoolClass는 전역 변수로 취급되며 아무 것도 실제로 인스턴스화되지 않으므로 프로토 타입 함수는 정의되지 않습니다.

var MyCoolClass = require('mycoolclass.js'); 
describe('MyModule', function() { 
    var myCoolClass; 

    beforeEach(function() { 
    myCoolClass = new MyCoolClass(); 
    }); 

    describe('My Scenario 1', function() { 
    myCoolClass.doSomethingCool('This'); //or do an assert 
    }); 
}); 

당신은 자세한 내용은 documentation 볼 수 있습니다 :

은 그래서 (미안 난 그냥 모바일에있어) 다소 같다.

+0

내 부분에 완전한 flub. 나를 올바른 방향으로 향하게 해주셔서 감사합니다! –

+0

나는 너무 일찍 말했다. 이전에 각 플랫 아웃 어디서 상관없이 작동하지 않습니다. 그러나 솔직히이 문제는 현재 원래 질문의 범위 밖에 있습니다. 나는 조금 주위에 google을 할 것이다. 그리고 내가 그것을 고칠 수 없으면, 나는 완전히 다른 질문을 게시 할 것이다. –

+0

흠. 이상 하네. 물론, 나는 또한 당신이 직면 한 이슈에 관심이있다. – aiapatag

관련 문제