【问题标题】:Apex test Class - System.NullPointerException: Attempt to de-reference a null objectApex 测试类 - System.NullPointerException:尝试取消引用空对象
【发布时间】:2012-01-09 23:10:31
【问题描述】:

测试类如下: 我试图在测试类中设置 RecordType.Name 但它给了我消息 "System.NullPointerException: Attempt to de-reference an null object class.TestAcctHierWarnDisplay.tstWarningDisplay1:第 45 行,第 3 列“外部入口点”。 记录类型存在。 我不确定我错过了什么。 获取异常 myacct.RecordType.Name = '主账户';

【问题讨论】:

  • 欢迎来到 Stack Overflow。请提供必要的详细信息以诊断问题。看到代码是必要的。
  • 看起来很简单,但如果您熟悉该平台,这里实际上有足够的信息。

标签: salesforce apex-code


【解决方案1】:

您应该按 ID 设置记录类型,而不是按名称:

id idRT = [select Id from RecordType where SobjectType = 'Account' and DeveloperName = 'RTDevName].Id; 

Account sAcct = new Account();
sAcct.RecordTypeId = idRT;

另外,请注意,我使用的是开发人员名称,这相当于对象字段上的 API 名称,其想法是实际名称是一个标签,可以为前端目的进行更改。

仅供参考: 您收到异常的原因是因为该帐户在此阶段未分配记录类型,因此 myacct.RecordTypenull,您在访问其上的 Name 字段时尝试取消引用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    相关资源
    最近更新 更多