0

現在、Payconnect と PayPal を使用する寄付システムのコントローラーをプログラミングしています。

テスト目的で、'new pymt__Processor_Connection_ c'を使用して、サンプルの Payment Processor Connection オブジェクトを作成したいと考えています。しかし、必須の 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 セットアップ レコードにリンクされたプロセッサ接続を作成する必要があるようです。ここには 2 つのオプションがあります。

  1. 推奨: PaymentConnect データ モデルの理解を深めて、単体テストを実行する前に適切なテスト データをすべてセットアップできるようにします。これには、PaymentConnect Setup レコードと、私が疑う Connection の両方を作成する必要があります。
  2. あまり理想的でない: UI を使用して、サンドボックスに適切な構成データをすべて作成します。単体テストで、実際にそのデータを確認するには (これが SOQL の問題だと思われます)、本番データを確認するための注釈を追加する必要があります。

    @isTest (seeAllData = true)
    

Salesforce.com API のバージョン 24 では、本番データはデフォルトで単体テストから分離されています: 単体テストでの組織データからのテスト データの分離。API の v.24 以降を使用しているため、サンドボックスで作成したものを単体テストで確認できないと思います。

繰り返しになりますが、すべての構成データとテスト条件を自分で作成する、常により堅牢なテストです。

お役に立てれば。

于 2012-07-03T06:07:04.167 に答える