0

私のAngularアプリには、親と子のコンポーネントがあります。状態の子にタイトル値を供給する親constructor。親コンポーネントのupdateをテストしようとしています。constructorしかし、テストコンポーネントから追加されていない値によって失敗しました。

親コンポーネント.ts:

export class ShellUserViewComponent implements OnInit {

  @Output() OutwellcomeMsg: string | undefined;
  @Output() newTitle: string;
  @Output() users$: Observable<PropUser[]>;

  title = "Welcome to user!!";
  countString = "countLogic"; //static value
  count: number;

  constructor(private store: Store<AppState>) {
    this.count = 0;
    this.newTitle = this.countString; //updates the newTitle value
    this.users$ = of([]);
  }
}

親 component.spec.ts: (コンストラクタ値のテスト):

describe('UserViewComponent', () => {

  beforeEach(async () => {
    await render(ShellUserViewComponent, {
      componentProperties: {
        title: "Welcome to chennai",
        countString: "I am new" //added new value as mock
      },
      declarations: [UserViewComponent],
      imports: [RouterTestingModule],
      providers: [provideMockStore({})]
    });
  })

  it('should find the welcome as title', async () => {
    expect(await screen.getByText(/Welcome to chennai/i)).toBeTruthy();
    expect(await screen.getByText(/I am new/i)).toBeTruthy(); //expecting in screen, fails
    screen.debug(); //no value finds. getting original value instead of mock value
  });

});

更新されたものをテストする正しい方法は何countStringですか?

4

0 に答える 0