J'utilise @ [email protected] , @ngneat/[email protected]
(avec Jest ), [email protected]
dans un projet et tout fonctionne sur l'application lorsque j'exécute ng serve
ou même ng build
, mais cela échoue lorsque j'essaye d'exécuter un test suite pour un @Pipe
qui utilise Inputmask
:
@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');
});
});
Lorsque j'exécute ng test
, Il affiche:
ReferenceError: customElements n'est pas défini
2 |
> 3 | import Inputmask from 'inputmask';
[~ # ~] ps [~ # ~] : Cette erreur apparaît juste pour Angular 9, dans Angular 8 all les tests ont été réussis.
Je me souviens être tombé sur votre question et je suis tombé sur autre chose lié à ngx-bootstrap
concernant un import
ne fonctionnant pas dans Angular 9
.
https://valor-software.com/ngx-bootstrap/#/datepicker
Consultez la section d'utilisation et son avertissement concernant Angular 9
.
Essayez de faire import InputMask from 'inputmask/somethingMoreSpecificHere';
ou `import {somethingSpecificHere} depuis 'inputmask';