我无法通过测试类为AccountPartner插入模拟数据。我尝试插入2个帐户和一个Partner对象。实际上,在从Apex类运行或从开发人员控制台执行时,相同的代码正在运行。请参阅下面的代码和输出,让我知道解决方案..
@isTest
private class TestAccountPartner {
private static testmethod void unittest(){
test.startTest();
Account sourceAccount = new Account();
Account targetAccount = new Account();
sourceAccount.AccountNumber='Number1';
sourceAccount.Name='name1';
targetAccount.AccountNumber='Number2';
targetAccount.Name='name2';
insert sourceAccount;
insert targetAccount;
Partner p = new Partner(AccountFromId=sourceAccount.ID, AccountToId=targetAccount.ID);
insert p;
Account sa = [select ID from Account where Name='name1'];
Account ta = [select ID from Account where Name='name2'];
System.debug('Source Account is: '+sa);
System.debug('Target Account is: '+ta);
List<Partner> partners = [select AccountFromId from partner];
System.debug('Partner objects are: '+partners);
List<AccountPartner> accountPartners = [select AccountFromId from AccountPartner];
System.debug('account partners are: '+accountPartners);
test.stopTest();
}
}
输出是:
07:24:48:174 USER_DEBUG [26]|DEBUG|Source Account is: Account:{Id=00128000007YZk7AAG} 07:24:48:174 USER_DEBUG [27]|DEBUG|Target Account is: Account:{Id=00128000007YZk8AAG} 07:24:48:176 USER_DEBUG [30]|DEBUG|Partner objects are: (Partner:{AccountFromId=00128000007YZk7AAG, Id=00I28000000ZeBTEA0}) 07:24:48:177 USER_DEBUG [33]|DEBUG|account partners are: ()
答案 0 :(得分:1)
已经有一段时间但我认为这是因为帐户合作伙伴是特殊的角色类型关系之一。您是否尝试访问Target帐户的AccountPartner集合并使用add()方法添加Source帐户。
这与您的情况不同,但解决方案有一个类似的示例即添加合作伙伴: https://salesforce.stackexchange.com/questions/3805/how-to-update-account-object-when-related-accountpartner-is-updated-inserted-del