在APEX Sandbox中创建PaymentConnect处理器连接

时间:2012-06-20 18:12:15

标签: salesforce sandbox apex-code soql

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

出于测试目的,我想使用'new pymt__Processor_Connection_ c'创建一个示例Payment Processor Connection对象。但是,我无法升级连接,因为缺少必需的PaymentConnect设置字段(pymt _PaymentConnect_Setup__c)。

我已尝试在PaymentConnect SalesForce标签中创建新的PaymentConnect设置记录和新的PayPal处理器连接,但我的SOQL查询似乎无法找到它。我怀疑这可能是因为我正在使用Sandbox帐户进行编程。如果是这种情况,那么我如何在测试处理器连接中正确设置pymt__PaymentConnect_Setup__c字段呢?

我的查询是:

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的新手,所以请感觉树要求任何澄清或我的代码的其他部分。

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

    @isTest (seeAllData = true)
    
  3. 在Salesforce.com API的第24版中,生产数据默认与单元测试隔离:Isolation of Test Data from Organization Data in Unit Tests。我猜你的单元测试无法看到你在Sandbox中创建的任何东西,因为你在API或更高版本的v.24上。

    尽管如此,总是一个更强大的测试,您可以自己创建所有配置数据和测试条件。

    希望这有帮助。