Мое текущее покрытие кода составляет 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 ответа
Вам нужно создать тестовый класс, который будет
- Начать тест
- Покроет шаги так, чтобы был вызван триггер.
Пример вашего тестового класса,
@isTest
Public class myTestClass{
static testmethid void unitTest1() {
//insert an account
//insert opp
}
}
После этого ваш триггер будет покрыт на 100%.
Вот код для вставки учетной записи,
Account acc = new Account( Name='Test' ) ;
Insert acc;