2013-05-01 3 views

답변

7

인턴은 Dojo Toolkit의 AMD 로더를 사용합니다. 의존성을 조롱하려면 표준 AMD map 기능을 사용할 수 있어야합니다. 당신의 인턴 구성 파일에서이 같은 당신이 필요로하는 무엇을 수행해야합니다

define({ 
    …, 
    loader: { 
    map: { 
     myPackage: { 
     'myPackage/foo': 'myPackage/mocks/foo', 
     'herp': 'myPackage/mocks/herp', 
     'derp': 'myPackage/mocks/derp' 
     } 
    } 
    } 
}); 

map에 대한 자세한 내용은 https://github.com/amdjs/amdjs-api/wiki/Common-Config#map-를 참조하십시오.

+0

테스트 당 모의 테스트 방법은 무엇입니까? Dojos AMD 구현에 익숙하지 않은 Im, 내 질문에 언급 한 SO에서 설명한 것처럼 모든 테스트에 대해 자체 컨텍스트를 만들 수 있습니까? –

+0

현재 Dojo 로더는 RequireJS가 독립 구성으로'require'를 작성하는 것과 정확히 동일한 것을 지원하지 않습니다. 이 사용 사례를보다 잘 지원하기 위해 추가하고 싶은 기능입니다. 'undef' 함수를'map'과 결합하여 비슷한 것을 할 수 있습니다. 그러나 그것은 우아하지 않습니다. 그래서 직접적으로하지 않는 것이 좋습니다. 그 사이에'dojo/dojo.js'를'require.js' ('client.html','client.js','runner.js')로 대체 할 수 있어야합니다. 작업. 기능 요청을 입력하십시오. –

+1

인턴 1.5에는'require.undef' API가 포함되어 있으므로 테스트를 위해 AMD 의존성을 조롱하도록 구성을 수정해야하는 경우 캐시에서 모듈을 제거 할 수 있습니다. –

2

도움이 될지 확실하지 않습니다. Dojo 로더를 사용하여 모듈 종속성을 조롱하기위한 모듈을 작성했습니다. https://github.com/stdavis/StubModule

내 요구 사항에 잘 부합합니다. 나는 인턴에서 일하지 않을 이유가 없다. 아직 시도하지는 않았다.