#javascript #angular #jasmine #karma-jasmine
Вопрос:
Я пытаюсь написать модульный тест для динамического элемента выбора в angular, как показано ниже. Но каким-то образом я получаю значение из select с индексом, а не только из текста.
Мой КОД:
type= "x";
temp: any;
ngOnInit() {
this.temp =
this.type === 'x' ? ['one', 'two'] : ['three', 'two'];
}
<select id="type"
(change)="change($event)">
<option *ngFor="let lt of temp" [value]="lt">
{{ lt }}
</option>
</select>
Мой тест.ts
describe("test", () => {
it("type", () => {
fixture.detectChanges();
const select: HTMLSelectElement = fixture.debugElement.query(By.css("select#type")).nativeElement;
expect(select.options[0].value).toEqual("one");
});
});
Когда я запускаю тест в angular, он выдает мне следующую ошибку:
Error: Expected '0: one' to equal 'one'.
Есть идеи, почему это происходит? Я знаю, что могу исправить это, изменив его на «0: один». Но, хочу знать, что я делаю не так.