Я не совсем знаком с ionic, но, в конце концов, это всего лишь JavaScript и HTML.Что вам нужно сделать, это взять элемент DOM, соответствующий кнопке, на которую вы хотите нажать, и затем вызвать метод click.
Вот что может сработать.
Добавьте идентификаторы ко всем кнопкам контроллера предупреждений, например:
let confirm = this.alerCtrl.create({
title: 'Title',
message: 'Some message here',
buttons: [
{
text: 'No',
handler: () => {
this.pressedButton = 'No';
},
id: 'no-alert'
},
{
text: 'Yes',
handler: () => {
this.pressedButton = 'Yes';
},
id: 'yes-alert'
}]
});
confirm.present()
Затем в своем тесте возьмите элемент кнопки:
let yesButton = document.getElementById('yes-alert');
yesButton.click();
...continue the test...
Обновление Лучше проверить сам контроллер и убедиться, что все действия подключены правильно, но если это невозможно, вы можете просто проверить код обработчика напрямую.
Что-то вродеэто будет работать:
export const yesHandler = () => ...
export const noHandler = () => ...
pressedButton:string="";
myAlert() {
let confirm = this.alerCtrl.create({
title: 'Title',
message: 'Some message here',
buttons: [
{
text: 'No',
handler: noHandler
},
{
text: 'Yes',
handler: yesHandler
}]
});
confirm.present()
}
И тогда вы сможете протестировать эти обработчики непосредственно в своих тестах.