Ich verwende @ [email protected] , @ngneat/[email protected]
(mit Scherz ), [email protected]
in einem Projekt und alles funktioniert in der Anwendung, wenn ich ng serve
Oder sogar ng build
Ausführe, aber es schlägt fehl, wenn ich versuche, einen Test auszuführen Suite für einen @Pipe
, der Inputmask
verwendet:
@Pipe
:
import { Pipe, PipeTransform } from '@angular/core';
import Inputmask from 'inputmask';
@Pipe({
name: 'appSomePipe',
})
export class SomePipe implements PipeTransform {
transform(value: string): string {
return Inputmask.format(value, {
jitMasking: true,
mask: '1111-1',
});
}
}
@Spec
:
import { createPipeFactory, SpectatorPipe } from '@ngneat/spectator/jest';
import { SomePipe } from './some.pipe';
describe('SomePipe', () => {
let spectator: SpectatorPipe<SomePipe>;
const createPipe = createPipeFactory(SomePipe);
it('test', () => {
spectator = createPipe(`{{ '11111' | appSome }}`);
expect(spectator.element).toHaveText('1111-1');
});
});
Wenn ich ng test
Ausführe, wird Folgendes angezeigt:
ReferenceError: customElements ist nicht definiert
2 |
> 3 | import Inputmask from 'inputmask';
[~ # ~] ps [~ # ~] : Dieser Fehler wird nur für Angular 9 in Angular 8 all angezeigt Tests wurden erfolgreich bestanden.
Ich erinnere mich, dass ich über Ihre Frage gestolpert bin und über etwas anderes gestolpert bin, das mit ngx-bootstrap
in Bezug auf ein import
funktioniert nicht in Angular 9
.
https://valor-software.com/ngx-bootstrap/#/datepicker
Lesen Sie den Verwendungsabschnitt und die Warnung zu Angular 9
.
Versuchen Sie es mit import InputMask from 'inputmask/somethingMoreSpecificHere';
oder `import {someSpecificHere} from 'inputmask';