@ [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でのみ表示され、すべてのテストが合格しました。
あなたの質問に遭遇したのを覚えています。import
がngx-bootstrap
で機能しないことに関して、Angular 9
に関連する他の何かに遭遇しました。
https://valor-software.com/ngx-bootstrap/#/datepicker
使用法のセクションとAngular 9
に関する警告を確認してください。
import InputMask from 'inputmask/somethingMoreSpecificHere';
または `import {somethingSpecificHere} from 'inputmask';を試してください。