2017-10-11 2 views
1

Ceci est ma fonction dans le fichier ts.angular - ReferenceError: Impossible de trouver la variable: URLSearchParams dans http: // localhost: 9877src/test.ts

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

Ceci est mon fichier de jasmin.

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

Erreur: Je ne reçois pas cette erreur dans le karma mais je reçois cette erreur lorsque je tente de couverture de code avec yarn test

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

Répondre

1

eu le même problème avec le cadre ionique 2 récemment. Pour moi c'était que PhantomJS avait besoin d'un polyfill pour URLSearchParams.

Alors essayez d'inclure comme un paquet de NPM (ou manuellement à partir https://github.com/WebReflection/url-search-params):

npm install url-search-params 

et l'inclure à tout coureur de test ou de l'environnement que vous utilisez par exemple Karma fichier de configuration:

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

c'est la bonne réponse, au moins en général! J'utilise généralement Chrome et non PhantomJS, donc quand je suis passé à Phantom, j'ai commencé à voir ces erreurs apparaître. Quand j'ai changé, ils ont disparu. –