Я обновил существующее рабочее приложение с Angular 4 до Angular 7.
Для ввода HTML, такого как:
<input id="encryptedValue" readonly class="form-control" [ngModel]="Response.encryptedText" size="50" />
Перед обновлением я могу проверить, что элемент Input содержитжелаемое значение, выполнив:
const de = fixture.debugElement.query(By.css('#encryptedValue'));
const el = de.nativeElement;
expect(el.value).toBe(dummyStr);
После обновления el.value будет ''
вместо 'Test'
Если я сделаю console.log(el)
, отобразится следующая строка:
<input _ngcontent-c0="" class="form-control ng-untouched ng-pristine ng-valid" id="encryptedValue" readonly="" size="50" ng-reflect-model="Test">
Кажется, что значение 'Test' теперь из атрибута ng-refle-model.Я могу проверить значение атрибута, выполнив:
expect(el.getAttribute('ng-reflect-model')).toBe('Test');
Но правильный ли это способ проверки значения элемента в представлении компонента?