2014-09-23 9 views
1

내가 인턴 내 sinon-chai plugin를 사용하려고했다 반환하지만 그것은 내게 준 :콜링 차이 플러그인 오류

define([ 
    'intern!bdd', 
    'intern/chai!expect', 
    'app/functions', 
    'intern/chai', 
    'intern/dojo/node!sinon-chai' 
], function (bdd, expect, myapp, chai, sinonChai) { 
    chai.use(sinonChai); 

    ... 

}); 
: 나는 NPM을 통해 플러그인을 설치하고 여기 내 테스트 파일의 한
Error {stack: (...), message: "Cannot find the Node.js require"} 

무엇이 잘못 될 수 있습니까?

+0

당신이 그것을 browerified 적이 있습니까? – Vinz243

답변

2

노드 로더에는 Node.js가 필요하므로 브라우저에서 사용할 수 없습니다. 아래 그림과 같이 직접 sinon-차이 라이브러리를로드해야합니다 (node_modules에 테스트에서 상대 경로를 가정 ../node_modules입니다) : 당신은 테스트를 단순화 할 수

define([ 
    'intern!bdd', 
    'intern/chai!expect', 
    'app/functions', 
    'intern/chai', 
    '../node_modules/sinon-chai/lib/sinon-chai' 
], function (bdd, expect, myapp, chai, sinonChai) { 
    chai.use(sinonChai); 
    ... 
}); 

는 sinon-차이 패키지를 정의하여 포함 당신의 인턴 설정에서 :

... 
loader: { 
    { name: 'sinon-chai', location: 'node_modules/sinon-chai/lib' }, 
    ... 
} 
... 

그런 다음 당신은 단지에 의해 얻을 수 :

define([ 
    ... 
    'sinon-chai/sinon-chai' 
], function (bed, expect, myapp, chai, sinonChai) { 
... 
}); 
+0

이것은 내 인턴 설치를 위해'chai-spies' 라이브러리를 통합 한 방법입니다. 한 가지 유의할 것은, 나는 chai lib를 package.json에 별도로 설치해야했고 chai.use() 메소드를 사용하기 위해 node_modules 폴더에서 chai lib를 포함시켰다. – d48