未来方法销售人员的测试覆盖率

Viv*_*vek 2 web-services salesforce apex-code

您好,我试图覆盖一个几乎没有未来方法(用于 Web 服务调用)和具体静态方法的类。但是在调用 future 方法后,我无法调用其他方法...您能告诉我如何覆盖 future 方法和 Web 服务调用吗?

我的班级结构:

public with sharing class AccountSynchController { 
 @future (callout=true)
    public static void importAccount(Set<Id> ids) {

    }
 @future (callout=true)
    public static void importContact(Set<Id> ids) {

    }
}

[future methods are called from trigger]

Test Class Code : 


        VAT__c testVat = new VAT__c();
    testVat.Code__c = '3';
    insert testVat;        

        Account testAccount = new Account();
        testAccount.Name = 'Test Account';
        testAccount.VATSales__c = testVat.Id;
        testAccount.VATPurchase__c = testVat.Id;
        testAccount.KvK_Nummer__c = '12312312';
        testAccount.PhoneExt__c = '12312312';
        testAccount.Website = '12312312';
        testAccount.BillingPostalCode = '12312312';
        testAccount.BillingCity = '12312312';
        testAccount.Fax = '12312312';
        testAccount.Phone = '12312312';
        testAccount.BillingStreet = '12312312';
        testAccount.BTW_Nummer__c = '12312312';
        testAccount.BillingCountry = '12312312';
        testAccount.BillingState = '12312312';
        testAccount.BTW_Nummer__c = '12312312'; 
        testAccount.E_mail__c = 'test@gmail.com';
        testAccount.Taal__c = 'NL';
        testAccount.SalesPaymentConditionCode__c = '15';
        testAccount.Code__c = '102';
        testAccount.fromExact__c = false;
        testAccount.Exact_Id__c = '123123';
        insert testAccount;

        Contact testContact = new Contact();
        testContact.AccountId = testAccount.Id;
        testContact.Birthdate = system.today();
        testContact.Conact_Exact_Number__c = '12312312312';
        testContact.Email = 'test@gmail.com';
        testContact.FirstName = 'first';
        testContact.Title_Code__c = 'Mr.';
        testContact.Geslacht__c = 'M';
        testContact.Initials__c = 'I';
        testContact.Language_Code__c = 'NL';
        testContact.LastName = 'last';
        testContact.MiddleName__c = 'middle';
        testContact.Phone = '12321312312';
        testContact.fromExact__c = false;
        insert testContact;
Run Code Online (Sandbox Code Playgroud)

谢谢..

Ada*_*ler 5

通过调用Test.startTest()开始单元测试,然后运行测试插入。通过调用Test.stopTest()来完成。调用最后一个方法可确保您的 @future 方法将被触发。之后,您可以进行断言来验证触发器的操作。