Angular 1.5, TSify 및 Karma를 사용하는 테스트를 설정하려고합니다. https://github.com/cmlenz/tsify-test이Angular, Karma, tsify, woes
(이 예는 각도 포함되지 않습니다) : 나는 아주 가까이 해요,하지만 난 꽤 괜찮 없어 문제로 실행 해요 : 나는 여기에 설명 된 설정을 다음있어각도 모의에서 오류가 발생했습니다. "정의되지 않은 속성 모의 '를 설정할 수 없습니다.
타이밍 문제이거나 범위가 있어야합니다. 각도 변수의 범위를 감싸고, mock은 그것을 볼 수 없습니다. 몰라. 여기
내 karma.conf.js 파일의 관련 부분입니다 : 이것은 모의 객체를로드하고있어 길을 함께 할 수있는 뭔가가 있어야합니다frameworks: ['browserify', 'jasmine'],
files: [
'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js',
'./node_modules/angular-mocks/angular-mocks.js',
'./modules/**/*.spec.ts'
],
exclude: [],
preprocessors: {
'**/*.ts': 'browserify'
},
browserify: {
debug: true,
plugin: [
['tsify']
]
},
- 그것은 단지 내 각 응용 프로그램에서 사용하지 않는 것 테스트, 그래서 그것과 관련이 있어야합니다.
힌트가 있습니까? 그것은 당신의 .spec.ts
파일 중 하나가 종속 된시 .ts
파일 중 하나에 필요한 때까지 angular
로드되지 않는 -
'파일'배열에는 ** 모든 ** 테스트에 필요한 파일이 포함되어야합니다. 'angular.js'와 응용 프로그램 파일은 어디에 있습니까? – Phil
구성에 따라 '앵귤러 모크 (angular-mocks)'가 NPM과 함께 설치 되었음이 분명합니다. 'angular'가 NPM과 함께 설치되었고'.ts' 파일에서'require '를 통해 번들에 포함되는 경우'angular-mocks '가'angular '이후에로드되어야하기 때문에 문제가 될 수 있습니다. – cartant
@Phil Browserify는 모든 파일 (공급 업체 파일 포함)을 단일 번들로 연결합니다. 내가 일하는 예제에서, 그들은 **/*. ts glob을 프리 프로세서 섹션에 등록했습니다. 그것이 옳지 않다면, 나는 그것을 바꿀 수있다. 그것은 무엇이어야 하는가? (나는 각 벤더 파일을 가리킬 필요가 없다고 가정하고있다. 왜냐하면 browserify는 그것들을 번들에 넣기 때문이다.) – JMarsch