Salesforce Apex: как проверить, был ли вызван триггер

У меня есть триггер в Apex. Как написать модульный тест, который проверяет, был ли вызван триггер?

Account account = new Account(Name='Test account');
insert account;
checkIfInsertTriggerCalled(); // how do I implement this?

person Sergey    schedule 21.04.2016    source источник


Ответы (1)


Вы должны проверять, что делает триггер, а не только, был ли он вызван или нет. Что делает ваш триггер?

Если вы просто пытаетесь увидеть, вставлен ли он, то:

    Account account = new Account(Name='Test account');
    insert account;
    List<Account> aList = [SELECT Id, Name FROM Account];
    system.assertEquals(1,aList.size());

примечание: я бы просто оставил комментарий, но у меня мало представителей на этом сайте. редактировать: вот стандартная страница, на которую ссылаются многие: https://developer.salesforce.com/page/How_to_Write_Good_Unit_Tests

person raffters    schedule 21.04.2016
comment
Спасибо за Ваш ответ! Мой триггер отправляет HTTP-запрос. Я пытаюсь написать модульные тесты, которые проверяют, был ли запрос вообще сделан (а не правильно ли он был сделан, как учит учебник HttpCalloutMock). Вот дополнительная информация в моем другом вопросе SO: выноска не была сделана"> stackoverflow.com/questions/36778106/ - person Sergey; 22.04.2016