2017-10-11 2 views
1

이것은 ts 파일의 내 함수입니다.angular - ReferenceError : http : // localhost : 9877src/test.ts에서 변수를 찾을 수 없습니다 : URLSearchParams

getFeatures() { 
    const queryString = new URLSearchParams(); 
    ... 
} 

이것은 내 재스민 파일입니다.

it('should get features', inject([FeatureSupportService], (service : FeatureSupportService) => { 
    expect(service.getFeatures()).toBeTruthy(); 
    })); 

오류 : 나는 카르마에서이 오류가 발생하지 오전하지만 난 yarn test

Can't find variable: URLSearchParams in http://localhost:9877src/test.ts 

답변

1

과 코드 커버리지에 최근 이온 2 프레임 워크와 같은 문제가 있었다하려고 할 때이 오류를 얻고있다. 필자는 PhantomJS가 URLSearchParams에 대해 polyfill을 필요로한다는 것이었다.

그래서 NPM 패키지로 포함 시도 (또는 수동으로 https://github.com/WebReflection/url-search-params에서) :

npm install url-search-params 

을 그리고 예를 들어, 당신이 사용하는 어떤 시험 주자 또는 환경에 포함 갈마 설정 파일 :

files: [ 
      '../node_modules/url-search-params/build/url-search-params.js', 
      { pattern: './karma-test-shim.js', watched: true } 
     ], 
+0

이것은 적어도 일반적으로 말해서 정답입니다! 저는 보통 PhantomJS가 아닌 Chrome을 사용합니다. 따라서 팬텀으로 전환했을 때 나는 이러한 오류가 나타나는 것을보기 시작했습니다. 내가 돌아 왔을 때 그들은 사라졌다. –

관련 문제