Я считаю наиболее полезным рассматривать шаблон компонента и класс машинописи как одну единицу для тестирования.Таким образом, я свободен в рефакторинге и перемещаю вещи, не нарушая тесты и не получая ложных срабатываний в результатах тестов.
В вашем случае, чтобы протестировать его, я бы ввел функцию, которая возвращает дескриптор кнопки, которую вы хотите протестировать,как в:
function submitButton() {
return fixture.debugElement.query(By.css('.some-class')).nativeElement
}
Таким образом, я мог бы создать несколько тестовых случаев, где я передаю значения в другие поля формы, вызываю submitButton.click()
и проверяю, что действие было / не было выполнено.
При настройке значений формы (имитация пользовательского ввода) помните, что вам может потребоваться опубликовать события браузера input
, чтобы Angular обновил форму.