0

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

出于测试目的,我想使用“new pymt__Processor_Connection_c ”创建一个示例支付处理器连接对象。但是,我无法更新连接,因为缺少必需的 PaymentConnect 设置字段 (pymt _PaymentConnect_Setup__c)。

我尝试在 PaymentConnect SalesForce 选项卡中创建新的 PaymentConnect 设置记录和新的 PayPal 处理器连接,但我的 SOQL 查询似乎找不到它。我怀疑这可能是因为我正在使用沙盒帐户进行编程。如果是这种情况,那么如何在我的测试处理器连接中正确设置 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 的新手,所以请感觉树来要求任何澄清或我的代码的其他部分。

谢谢!

4

1 回答 1

0

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

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

    @isTest (seeAllData = true)
    

在 Salesforce.com API 的第 24 版中,生产数据默认与单元测试隔离:在单元测试中将测试数据与组织数据隔离。我猜您的单元测试无法看到您在沙盒中创建的任何内容,因为您使用的是 API 的 v.24 或更高版本。

但是,再一次,始终是一个更强大的测试,您自己创建所有配置数据和测试条件。

希望这可以帮助。

于 2012-07-03T06:07:04.167 回答