Salesforce 在APEX沙盒中创建PaymentConnect处理器连接

Salesforce 在APEX沙盒中创建PaymentConnect处理器连接,salesforce,sandbox,apex-code,soql,Salesforce,Sandbox,Apex Code,Soql,现在,我正在为一个使用Payconnect和PayPal的捐赠系统编程一个控制器 出于测试目的,我想使用“new pymt\uuuu Processor\u Connection\u c”创建一个示例支付处理器连接对象。但是,我无法插入连接,因为缺少必需的PaymentConnect设置字段(pymt_PaymentConnect_setup__c) 我尝试在PaymentConnect SalesForce选项卡中创建一个新的PaymentConnect设置记录和一个新的PayPal处理器连接

现在,我正在为一个使用Payconnect和PayPal的捐赠系统编程一个控制器

出于测试目的,我想使用“new pymt\uuuu Processor\u Connection\u c”创建一个示例支付处理器连接对象。但是,我无法插入连接,因为缺少必需的PaymentConnect设置字段(pymt_PaymentConnect_setup__c)

我尝试在PaymentConnect SalesForce选项卡中创建一个新的PaymentConnect设置记录和一个新的PayPal处理器连接,但我的SOQL查询似乎找不到它。我怀疑这可能是因为我正在沙箱帐户中编程。如果是这种情况,那么如何在测试处理器连接中正确设置pymt_uuuPaymentConnect_uSetup_uuuC字段

我的问题是:

pymt__Processor_Connection__c connection = [SELECT Id,
   pymt__Test_Mode__c, pymt__Enabled_Card_Types__c
   FROM pymt__Processor_Connection__c
   WHERE pymt__Processor_Id__c = 'PayPal'];
我对APEX和StackOverflow仍然是新手,所以请感觉tree需要我的代码的任何澄清或附加部分


谢谢

我不太了解PaymentConnect数据模型,但听起来好像为了创建测试条件,您需要创建一个处理器连接,该连接链接到相关的父PaymentConnect安装记录。这里有两个选项:

  • 建议:提高您对PaymentConnect数据模型的理解,以便您可以在执行单元测试之前设置所有适当的测试数据。这需要创建PaymentConnect设置记录和我怀疑的连接
  • 不太理想:通过UI在沙盒中创建所有适当的配置数据。在单元测试中,为了实际查看该数据(我怀疑这就是您遇到的SOQL问题),您需要添加注释以查看生产数据:

    @isTest (seeAllData = true)
    
  • 在Salesforce.com API的第24版中,默认情况下生产数据与单元测试隔离:。我猜您的单元测试无法看到您在沙箱中创建的任何内容,因为您在API的v.24或更高版本上

    不过,在您自己创建所有配置数据和测试条件的情况下,始终是一个更健壮的测试


    希望这有帮助。

    您是在生产组织还是沙箱组织中创建此记录的?如果您只在生产环境中创建它,那么它将不会显示在您的沙箱组织中的SOQL查询中。您需要在您的沙箱组织中创建一个类似的记录。另外,您从什么上下文执行此SOQL查询?(例如,开发人员控制台、SOQLExplorer、Force.com IDE执行匿名,在Apex类中)如果在Apex类中,您可能无法查看记录,这取决于您的记录级访问规则(考虑组织范围的默认值、角色层次结构、共享规则等)。感谢您的回复!我在沙盒组织中创建了所有内容。我还在Apex类中执行测试代码。我想,由于我无法访问预先设置的PaymentConnect设置,我会尝试在测试类本身中创建一个新的处理器连接。但是,pymt_PaymentConnect_设置___c无效。