---
title: "条件のテスト"
slug: "test-a-condition"
abstract: "ゲスト属性を使って条件をテストする方法、ゲスト、販売時点、テナントパラメータの追加、デバッグ用のprint文の含め方。"
---
# 条件のテスト

Sitecore Personalize、特定のゲストと照合して条件をテストすることができます。

公開前に条件をテストし、エラーを特定し最適なパフォーマンスを確保することをお勧めします。コードを変更した後は、同じゲストで再度条件をテストし、結果を確認してください。

リクエストでヘッダーやパラメータを渡す必要があるより高度なユースケースでは、[高度な条件をテスト](https://doc.sitecore.com/personalize/ja/users/sitecore-personalize/developer-center/conditions/test-a-condition/test-an-advanced-condition.html "Test an advanced condition")することができます。

条件をテストする際、Sitecore Personalizeサーバー側でJavaScriptをテストします。これにより、JavaScriptが実行されるコンテキスト内で検証されることが保証されます。

*User*、*Developer*、*Admin*またはSitecore Cloud Portalで役割を持つチームメンバーは、状態を検査することができます。

条件をテストするには:

1.  条件を開いて **「テスト**」をクリックします。
    
    ![Testing a condition](https://doc.sitecore.com/api/markdown-image/personalize/ja/users/sitecore-personalize/images/TestCondition.png)
    
2.  **テスト**条件ダイアログでは、デフォルトのゲストの属性と照合するか、検索ボックスをクリックして最近のゲストリストから「**最近**」を選択、ブックマークしたゲストリストから「**ブックマーク**」を選択できます。システムは最近アクティブだったゲストを選択します。例えばメールアドレス、他のユニークな識別子、ブラウザIDなどを使ってゲストを検索できます。
    
    > !注コードの設定やテスト時によく使うゲストのデータを使っている場合は、**スター** アイコンをクリックしてゲストをブックマークするだけで、もう探す必要がなくなりましょう。
    
3.  ゲストデータを一時的に変更するには(これは一時的で、ゲストに関連付けられた属性は変更しません)、コードエディタでJSONを編集してください。
    
4.  **テスト**をクリックします。条件は本番環境で動作し、選択したゲストのデータに対して動作します。条件の出力は**応答**タブに表示されます。
    

## ゲストパラメータの追加

ゲストパラメータを設定して、テストの応答でそれらを閲覧できるようにすることができます。これを実現するには、条件内にguestコンテキストを呼び出す関数を含める必要があります。

条件にゲストパラメータを追加するには:

1.  コードエディタで、以下のJavaScriptを含めると、guestコンテキストを呼び出します。以下は以下の通りです。
    
    (function () {
     return { guest: guest };
    })();
    
2.  条件 **パラメータオプションをクリックして** 値を入力してください。
    
3.  **テスト**をクリックします。条件の出力(ゲストパラメータを含む)が**Response**タブに表示されます。
    

## POSパラメータを追加してください

Point of Saleパラメータを設定して、テストの応答でそれを表示できるようにできます。これを実現するには、requestコンテキストを呼び出す関数を条件に含める必要があります。

条件にPOSオブセールパラメータを追加するには:

1.  コードエディタで、requestコンテキストを呼び出すためのJavaScriptを含めることができます。ここに示されています:
    
    (function () {
     return { request: request };
    })();
    
2.  **エクスペリエンスリクエスト**オプションをクリックし、ドロップダウンリストから販売時点を選択します。
    
3.  **「テスト**」をクリックします。条件の出力(Point of Saleパラメータを含む)が**「レスポンス**」タブに表示されます
    

## テナントパラメータの追加

tenantパラメータを設定して、テストの応答でそれらを閲覧できるようにすることができます。これを実現するには、条件にtenantコンテキストを呼び出す関数を含める必要があります。

条件にテナントパラメータを追加するには:

1.  コードエディタで、以下のJavaScriptを含めると、tenantコンテキストを呼び出します。以下は以下の通りです。
    
    (function () {
     return { tenant: tenant };
    })();
    
    例えば、標準の **訪問月(組織タイムゾーン)** 条件には、JavaScriptにtenant.configurations.timezoneパラメータが含まれており、以下に示されています。
    
    (function () {
     load("classpath:moment.js");
     load("classpath:moment-timezone.js");
     var returnValue = false;
     var comparison = false;
     var comparator = "is | enum(is, is not) | is | { required: true }";
     var operatorValue = "compares to | enum(is equal to,is greater than,is less than,is greater than or equal to,is less than or equal to,is between) | | { required: true, placeholder: compares to} ";
     var dayOfMonth = Number("number | number | | { required: true, min: 0, max: 31, placeholder: 0 }");
     var dayOfMonth2 = Number("until day | number | | { required: true, min: 0, max: 31, placeholder: 0 }");
     var tenantTimezone = "";
     if (tenant && tenant.configurations && tenant.configurations.timeZone) {
     tenantTimezone = tenant.configurations.timeZone;
     }
     var tenantDate = moment.tz(tenantTimezone).date();
    
     if (operatorValue === 'is between') {
     comparison = tenantDate >= dayOfMonth && tenantDate <= dayOfMonth2;
     } else {
     if (operatorValue === 'is equal to') {
     comparison = tenantDate === dayOfMonth;
     } else if (operatorValue === 'is greater than') {
     comparison = tenantDate > dayOfMonth;
     } else if (operatorValue === 'is less than') {
     comparison = tenantDate < dayOfMonth;
     } else if (operatorValue === 'is greater than or equal to') {
     comparison = tenantDate >= dayOfMonth;
     } else if (operatorValue === 'is less than or equal to') {
     comparison = tenantDate <= dayOfMonth;
     }
     }
    
     if (comparator === "is") {
     returnValue = comparison;
     } else {
     returnValue = !comparison;
     }
     return returnValue;
    })();
    
2.  条件 **パラメータ** オプションをクリックして値を入力してください。
    
3.  **「テスト**」をクリックします。条件の出力(tenantパラメータを含む)が**「レスポンス**」タブに表示されます
    

## 印刷文を追加してください

条件のデバッグやフローを理解するために、条件にprint() 文を含めることができます。これにより、コードがエラーを出すまでの条件出力をレスポンスで確認できます。

条件にprint文を追加するには:

1.  コードエディターでprint() 文のJavaScriptを含めてください。例えば:
    
    (function () {
     print("first log");
     print("second log");
     return true;
    })();
    
2.  **「テスト**」をクリックします。条件の出力が**応答**タブに表示されます。
    
3.  print()文のログを見るには、以下の通りの**ログ**をクリックしてください。
    
    ![Print statement logs in the Response tab.](https://doc.sitecore.com/api/markdown-image/personalize/ja/users/sitecore-personalize/images/TestConditionPrint.png)