Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 在单元测试中动态创建记录类型_Unit Testing_Salesforce_Apex - Fatal编程技术网

Unit testing 在单元测试中动态创建记录类型

Unit testing 在单元测试中动态创建记录类型,unit-testing,salesforce,apex,Unit Testing,Salesforce,Apex,我们有一些逻辑依赖于托管包中自定义对象的记录类型。我们的一个客户已经为此SObject创建了一些自定义记录类型,这会引发异常。 我们已经进行了修复,但希望更新单元测试以捕获这种情况,因此我们需要能够为此SObject创建一个新的记录类型并分配它。但是,我不知道如何在Apex中动态执行此操作 尝试: insert new RecordType(...); 这将抛出“记录类型上不允许使用DML” 根据记录类型,有一个“创建”方法,但是: RecordType rt = new RecordType

我们有一些逻辑依赖于托管包中自定义对象的记录类型。我们的一个客户已经为此SObject创建了一些自定义记录类型,这会引发异常。 我们已经进行了修复,但希望更新单元测试以捕获这种情况,因此我们需要能够为此SObject创建一个新的记录类型并分配它。但是,我不知道如何在Apex中动态执行此操作

尝试:

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调用实现)