#angular #testing-library #angular-testing-library
Вопрос:
В моем приложении 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([]);
}
}
родительский компонент.спецификация.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
-?