测试类如下: 我试图在测试类中设置 RecordType.Name,但它给了我消息“System.NullPointerException:尝试取消引用空对象 class.TestAcctHierWarnDisplay.tstWarningDisplay1:第 45 行,第 3 列外部入口点”。 记录类型存在。 我不确定我错过了什么。 获取异常于 myacct.RecordType.Name = '主帐户';
最佳答案
您应该按 ID 设置记录类型,而不是按名称:
id idRT = [select Id from RecordType where SobjectType = 'Account' and DeveloperName = 'RTDevName].Id;
Account sAcct = new Account();
sAcct.RecordTypeId = idRT;
另外,请注意,我使用的是开发人员名称,这相当于对象字段上的 API 名称,其想法是实际名称是一个标签,可以出于前端目的进行更改。
仅供引用:
您收到异常的原因是因为此阶段尚未为该帐户分配记录类型,因此 myacct.RecordType
为 null
,您正尝试取消引用它访问其上的Name
字段时。
关于salesforce - Apex 测试类 - System.NullPointerException : Attempt to de-reference a null object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8796503/