Size: a a a

Angular - русскоговорящее сообщество

2019 October 29

И

Илья | 😶 in Angular - русскоговорящее сообщество
Проперти добавляешь к объекту с lowercase изначального объекта
источник

И

Илья | 😶 in Angular - русскоговорящее сообщество
Итерируешь через Object.keys
источник

M

Mikhail in Angular - русскоговорящее сообщество
Mikhail
Подскажите по тестам. Почему то querySelectorAll('a') не возвращает ни одного элемента, хотя вроде бы должен.
Вот код.
компонент:
@Input() words: string[];
Шаблон
<div class="word-container">
 <a *ngFor="let word of words" (click)="handleWordSelect(word)">{{word}}</a>
</div>
Тест
it('should renders all words', () => {  
component.words = ['Абонент', 'Абонемент', 'Скважина', 'Нефть'];  fixture.detectChanges();  const compiled = fixture.debugElement.nativeElement;  expect(compiled.querySelectorAll('a').length).toEqual(4);});

compiled.querySelectorAll('a').length
равен 0, хотя должен 4, не могу понять почему
Разобрался, все проблемы из-за OnPush. Оказывается, какая то старая бага ангуляра. Это норм оверрайдить стратегию обнаружения изменений в тестах?
источник

R

Remite in Angular - русскоговорящее сообщество
а зачем покрывать тестами процесс рендеринга?
источник

EG

Egor Gorbachev in Angular - русскоговорящее сообщество
Mikhail
Разобрался, все проблемы из-за OnPush. Оказывается, какая то старая бага ангуляра. Это норм оверрайдить стратегию обнаружения изменений в тестах?
Не норм. Вы что ты этим тестом проверяете, как ангуляр работает?
источник

M

Mikhail in Angular - русскоговорящее сообщество
@Rem1te @egorvn хочу проверить, что отрендерились все элементы, которые пришли в инпут, что никто не поставил ненужные ngIf или еще что нибудь
источник

AE

Anton Erokhin in Angular - русскоговорящее сообщество
Mikhail
@Rem1te @egorvn хочу проверить, что отрендерились все элементы, которые пришли в инпут, что никто не поставил ненужные ngIf или еще что нибудь
В таком случае лучше e2e заюзать?
источник

R

Remite in Angular - русскоговорящее сообщество
Mikhail
@Rem1te @egorvn хочу проверить, что отрендерились все элементы, которые пришли в инпут, что никто не поставил ненужные ngIf или еще что нибудь
я думаю что это не ваша проблема если кто-то понаставит нгифов :)
источник

M

Mikhail in Angular - русскоговорящее сообщество
Anton Erokhin
В таком случае лучше e2e заюзать?
Их же дорого писать, юниты дешевле
источник

AE

Argument Exception in Angular - русскоговорящее сообщество
Remite
я думаю что это не ваша проблема если кто-то понаставит нгифов :)
если код ревью делал он, то его :D
источник

R

Remite in Angular - русскоговорящее сообщество
кто писал код тот пускай и тесты тогда пишет :))
источник

M

Mikhail in Angular - русскоговорящее сообщество
Remite
я думаю что это не ваша проблема если кто-то понаставит нгифов :)
Или кто то вообще уберет этот ngFor из шаблона, а ему тут бах и тест говорит, что нельзя так делать
источник

R

Remite in Angular - русскоговорящее сообщество
Mikhail
Или кто то вообще уберет этот ngFor из шаблона, а ему тут бах и тест говорит, что нельзя так делать
у вас есть прекоммит хуки?
источник

AE

Anton Erokhin in Angular - русскоговорящее сообщество
Remite
я думаю что это не ваша проблема если кто-то понаставит нгифов :)
+
источник

R

Remite in Angular - русскоговорящее сообщество
да и вообще тестирование шаблонов... незнаю не нахожу это логичным
источник

M

Mikhail in Angular - русскоговорящее сообщество
Давайте вернёмся к основному вопросу: кто как OnPush стратегию в тестах обходит, насколько я понял бага с 2016 года тянется и detectChanges() не обновляет шаблон
источник

AE

Anton Erokhin in Angular - русскоговорящее сообщество
На мой взгляд это уже излишняя паранойя. Тогда делайте тесты на то, вдруг кто то поменял цвет этих элементов. Или сменил цвет кнопок в приложении на тон ниже
источник

M

Mikhail in Angular - русскоговорящее сообщество
Remite
у вас есть прекоммит хуки?
Нет
источник

AE

Anton Erokhin in Angular - русскоговорящее сообщество
Такие вещи проверяются при ревью или ручном тестировании. Ну или е2е при замене машинным тестированием ручного
источник

M

Mikhail in Angular - русскоговорящее сообщество
Remite
да и вообще тестирование шаблонов... незнаю не нахожу это логичным
А что тогда тестируем? Только какую то бизнес логику?
источник