Unit testing 在单元测试中动态创建记录类型
我们有一些逻辑依赖于托管包中自定义对象的记录类型。我们的一个客户已经为此SObject创建了一些自定义记录类型,这会引发异常。 我们已经进行了修复,但希望更新单元测试以捕获这种情况,因此我们需要能够为此SObject创建一个新的记录类型并分配它。但是,我不知道如何在Apex中动态执行此操作 尝试:Unit testing 在单元测试中动态创建记录类型,unit-testing,salesforce,apex,Unit Testing,Salesforce,Apex,我们有一些逻辑依赖于托管包中自定义对象的记录类型。我们的一个客户已经为此SObject创建了一些自定义记录类型,这会引发异常。 我们已经进行了修复,但希望更新单元测试以捕获这种情况,因此我们需要能够为此SObject创建一个新的记录类型并分配它。但是,我不知道如何在Apex中动态执行此操作 尝试: insert new RecordType(...); 这将抛出“记录类型上不允许使用DML” 根据记录类型,有一个“创建”方法,但是: RecordType rt = new RecordType
insert new RecordType(...);
这将抛出“记录类型上不允许使用DML”
根据记录类型,有一个“创建”方法,但是:
RecordType rt = new RecordType();
rt.DeveloperName = 'Test';
rt.Name = 'Test';
rt.SObjectType = 'Listing__c';
rt.create();
产生“方法不存在或签名不正确”。作为静态方法尝试时的结果相同:
RecordType.create(rt);
想法?在与其他SF开发人员讨论并重新阅读API文档后,似乎无法通过APEX API实现这一点(尽管可以通过SOAP API调用实现)