2013-03-08 2 views
2

저는 Coffeescript를 모든 용도로 사용하고 있으며, chai.js을 테스트에 포함 시키려고 애쓰는 데 어려움을 겪었습니다. 내 configs/testacular.conf.jsRequireJS를 사용하지 않고 어떻게 Testacular로 (Coffeescript) 가져 오기를 관리합니까?

는 (상대적 basePath주의) 다음과 같습니다

basePath = '../'; 

// Install devDependencies with `npm install` first before attempting to run Testacular! 
files = [ 
    MOCHA, 
    MOCHA_ADAPTER, 
    'assets/js/lib/**/*.js', 
    'test/lib/angular/*.js', 
    'test/unit/**/*.coffee', 
    'assets/js/*.coffee', 
    'node_modules/chai/chai.js' 
]; 

autoWatch = true; 

browsers = ['Chrome']; 

내가 npm installdevDependencies를 통해 설치할 수 차이 싶습니다 때문에 내 소스에 포함하기보다는 node_modules/chai/chai.js을 나열합니다.

내 시험은 test/unit/coolSpec.coffee에 살고과 같이 읽습니다

"use strict" 

should = chai.should() 

# Mocha/Chai specs for controllers go here 
describe "OverviewCtrl", -> 
    beforeEach -> 
    ctrl = new OverviewCtrl() 

    it "should do something awesome.", -> 
    1.should.be.a 'string' 

을하지만 chai을 찾을 수 testacular 실패합니다.

Uncaught ReferenceError: chai is not defined 
    at /.../test/unit/coolSpec.coffee-compiled.js:5 
Chrome 25.0 (Linux): Executed 0 of 0 ERROR (0.386 secs/0 secs) 

어떻게 RequireJS에 의존하지 않고 자바 스크립트 수입 을 관리 할 수 ​​있습니다?

편집 : testacular documentation here에 따르면 파일 배열에 파일을 나열하는 효과는 테스트시 브라우저에 <script> 태그를 삽입하는 것과 똑같습니다. 이것은 모든 기호가 임포트되었음을 ​​의미합니다.

그런데 다시 문제가 될 수 있습니다. http://chaijs.com/chai.js 자체가 RequireJS 용으로 작성되었습니다. 나는 그것을 사용할 수밖에 없다.

+0

종속성을 설치하고 파일을 가진 존재입니다하지 소스에서 그 함수 나 객체에 대한 참조를 가지고 같은 또는 테스트 파일 - 두 가지를 혼동시킬 수 있습니다. Node.js의 필수 시스템, 소스 인라이닝 또는 실제로 RequireJS와 같은 코드를 사용하여 실제로 코드에 chai를 포함해야합니다. 당신의 질문을 오해하고있는 것 또한 가능합니다 ... – jrajav

+0

나는 당신이 그것에 대해 크게 생각한다고 생각합니다. 나는 Testacular가 우리를 위해 인라이닝을한다고 가정 할 것이지만,'chai.js'는 당신이 그것을 인라인 할 수있는 스타일로 쓰여지지 않습니다. 슬프게도 testacular는 노드의'require'를 제공하지 않으므로 역시 작동하지 않을 것이다. 옵션이 제한된 것처럼 보입니다! – fatuhoku

+0

내 질문에 대해 다시 한 가지 방법은 "** Testacular의 관용적 인 테스트 종속성 포함 방법은 무엇입니까? **"입니다. 놀랍게도 대답은 'RequireJS'인 것처럼 보이는데, 이유는 없지만 특히 'chai.js'가 테스트 서버에서 바로 제공 될 수있을 때 그렇습니다. – fatuhoku

답변

1

chai's home page으로 이동 한 다음 NodeJS가 아닌 BaiWSER 버전의 chai 스크립트를 다운로드하도록 선택하십시오.

당신이 테스트를 위해 브라우저에서 사용할 수있는 차이 스크립트에 대한 직접 링크는 여기에 있습니다 : http://chaijs.com/chai.js

+0

다른 부트 스트랩 프로젝트를 사용하여 문제를 해결했습니다. 그러나 귀하의 답변이 다른 사람들을 도울 수 있다고 생각합니다. – fatuhoku

관련 문제