webentwicklung-frage-antwort-db.com.de

ReferenceError: customElements ist nicht definiert

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.

10
dev_054

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';

0
AliF50