2017-01-19 5 views
3

Тестирование с помощью жасмина и кармы, Я использую библиотеку zxcvbn для выполнения некоторых вычислений прочности пароля. Это не удается, когда я пытаюсь запустить спецификацию, вызвав функцию updateScore() ниже.Угловой 2/Ионный 2 ТипError: zxcvbn_1.default не является функцией

private updateScore(): void { 
    const analysis = zxcvbn(this.password) 
    this.score = analysis.score; 
    this.comment = analysis.feedback.warning || analysis.feedback.suggestions[0]; 
    } 

В импорте, я делаю import zxcvbn from 'zxcvbn';

Это работает в приложении, и даже когда я строю и подражать, но в спецификации, это дает мне эту ошибку:

FAILED TESTS: 
    PasswordStrengthChecker 
    ✖ should update the score when password changes 
     Chrome 55.0.2883 (Mac OS X 10.11.6) 
    TypeError: zxcvbn_1.default is not a function 
     at PasswordStrengthChecker.updateScore (webpack:///src/components/password-strength-checker/password-strength-checker.ts:25:28 <- src/test.ts:93920:40) 
     at PasswordStrengthChecker.ngOnChanges (webpack:///src/components/password-strength-checker/password-strength-checker.ts:20:9 <- src/test.ts:93916:14) 
     at Object.<anonymous> (webpack:///src/components/password-strength-checker/password-strength-checker.spec.ts:27:13 <- src/test.ts:185997:18) 
     at ZoneDelegate.invoke (webpack:///~/zone.js/dist/zone.js:232:0 <- src/test.ts:183822:26) 
     at ProxyZoneSpec.onInvoke (webpack:///~/zone.js/dist/proxy.js:79:0 <- src/test.ts:130574:39) 
     at ZoneDelegate.invoke (webpack:///~/zone.js/dist/zone.js:231:0 <- src/test.ts:183821:32) 
     at Zone.run (webpack:///~/zone.js/dist/zone.js:114:0 <- src/test.ts:183704:43) 
     at Object.<anonymous> (webpack:///~/zone.js/dist/jasmine-patch.js:102:0 <- src/test.ts:130289:34) 

ответ

4

Я имел эту проблему при использовании

import linkifyStr from 'linkifyjs/string';

вместо

import * as linkifyStr from 'linkifyjs/string';

+1

Спасибо! ваш ответ решил мою проблему, когда я тестировал угловые 2 компоненты, зависящие от момента времени. У меня была эта ошибка при запуске теста: moment_timezone_1.default не является функцией После изменения импорта Он работает как шарм. – ivanbtrujillo

Смежные вопросы