web-dev-qa-db-ja.com

ReferenceError:customElementsが定義されていません

@ [email protected]@ngneat/[email protected] (withJest)、 [email protected] プロジェクトで、ng serveまたはng buildを実行するとすべてがアプリケーションで機能しますが、 Inputmaskを使用する@Pipeのテストスイートを実行してみます。

@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');
  });
});

ng testを実行すると、次のように表示されます。

ReferenceError:customElementsが定義されていません

  2 | 
> 3 | import Inputmask from 'inputmask';

[〜#〜] ps [〜#〜]:このエラーはAngular 9のAngular 8でのみ表示され、すべてのテストが合格しました。

10
dev_054

あなたの質問に遭遇したのを覚えています。importngx-bootstrapで機能しないことに関して、Angular 9に関連する他の何かに遭遇しました。

https://valor-software.com/ngx-bootstrap/#/datepicker

使用法のセクションとAngular 9に関する警告を確認してください。

import InputMask from 'inputmask/somethingMoreSpecificHere';または `import {somethingSpecificHere} from 'inputmask';を試してください。

0
AliF50