Мое текущее покрытие кода составляет 0% при попытке проверить и развернуть триггер

trigger ShipToAddress on Opportunity(before insert) {
  map<id,account> accounts = new map<id,account>();
  for(opportunity o:trigger.new) {
    accounts.put(o.accountid,null);
  }
  accounts.remove(null);
  accounts.putAll([select id,name,BillingStreet, BillingCity, BillingState, BillingPostalCode from account where id in :accounts.keyset()]);
  for(opportunity o:trigger.new) {
    if(accounts.containskey(o.accountid)) {


      o.Ship_To_Address__c = accounts.get(o.accountid).BillingStreet + ', ' + accounts.get(o.accountid).BillingCity + ', ' + accounts.get(o.accountid).BillingState + ', ' + accounts.get(o.accountid).BillingPostalCode;


    }
  }
}

Выше приведен триггер, который я создал в своей среде Песочницы, а затем перенес в свою производственную среду. Я новичок в Salesforce, поэтому я новичок в создании триггеров Apex или классов для тестирования моего триггера Apex. Я не уверен, куда мне нужно идти в производственной среде, чтобы создать класс, поэтому я могу увеличить охват кода до 75%. Я также не уверен, как создать класс или какой код мне нужно написать, чтобы создать класс, поэтому я могу запустить его и получить покрытие кода до 75%. Пожалуйста, помогите мне показать, куда мне нужно перейти в моем Salesforce для создания этого кода и какой код мне нужен для тестирования этого триггера.

Я проверил триггер без проверки в Песочнице, и он работал просто отлично.

Я смог развернуть этот код в моем Prod и запустить класс, но он не проверяет мой триггер. Что я делаю неправильно?

@isTest
public class ShipToAddress {
    public static void TestOne(){
        Account acc = new Account( Name='Test' )  ;
        Insert acc;

        ID acctID = acc.ID;
        //insert opp
        Opportunity opp = new Opportunity( Name='Test', AccountID = acctID, CloseDate = Date.newInstance(2016, 12, 9), StageName = 'Submitted' );
        Insert opp;
    }
}

2 ответа

Вам нужно создать тестовый класс, который будет

  1. Начать тест
  2. Покроет шаги так, чтобы был вызван триггер.

Пример вашего тестового класса,

    @isTest
Public class myTestClass{
            static testmethid void unitTest1() {
                        //insert an account
                        //insert opp
            } 

}

После этого ваш триггер будет покрыт на 100%.

Вот код для вставки учетной записи,

Account acc = new Account( Name='Test' )  ;
Insert acc;

Ссылка на руководство Apex для того же

Другие вопросы по тегам