Flex Gateway新着情報
Governance新着情報
Monitoring API Managerサンプルテストスイートのコンテンツを確認するには、ターミナルでコンピューターのファイルシステムにディレクトリを作成します。次に、そのディレクトリに移動して bat init コマンドを実行します。このコマンドによって、次のフォルダーとファイルが作成されます。
.
├── bat.yaml
├── config
│ ├── default.dwl
│ ├── devx.dwl
│ ├── qax.dwl
│ └── stgx.dwl
└── tests
└── HelloWorld.dwl
bat.yaml ファイルは、テストスイートのメインファイルです。この例には、次の行が含まれています。
suite:
name: "Hello World Suite"
files:
- file: tests/HelloWorld.dwl
reporters:
- type: HTML
outFile: /tmp/HTML.html
# - type: SumoLogic
# options:
# SUMO_ENDPOINT: <sumo_source>
# - type: PagerDuty
# options:
# PAGER_DUTY_ROUTING_KEY: <routing_key>
# - type: Slack
# options:
# SLACK_WEBHOOK: <webhook_url>
# - type: Email
# options:
# EMAILS: <email_list>
# - type: NewRelic
# options:
# NEW_RELIC_LICENSE_KEY: <license_key>
# - type: JSON
# outFile: /tmp/JSON.json
# - type: JUnit
# outFile: /tmp/JUnit.xml
各テストスイートのルートレベルに bat.yaml ファイルが含まれている必要があります。
bat.yaml ファイルの files セクションこのサンプルテストスイートには、1 つのテストのみが含まれています。テストは、tests フォルダーのファイル HelloWorld.dwl として files セクションにリストされます。
テストを作成するときに、bat.yaml ファイルでテストに参照を追加します。たとえば、テストスイートディレクトリで、api-tests という名前のフォルダーを作成し、そのフォルダーに first-test.dwl という名前のテストを記述するとします。bat.yaml ファイルの files セクションで、次のインデントされた行を追加します。
file: api-tests/first-test.dwl
second-test.dwl という名前の 2 番目のテストを記述する場合、次の行を追加します。
file: api-tests/second-test.dwl
テストをリストする順序によって、BAT CLI によるテストの実行順序が決まります。この例では、テスト shoppingCart.dwl の前にテスト orderFulfillment.dwl が実行されます。
files: file: retail-site-tests/orderFulfillment.dwl file: retail-site-tests/shoppingCart.dwl
shoppingCart.dwl テストの後に orderFulfillment.dwl テストを実行するには、リストされている順序を変更します。
files: file: retail-site-tests/shoppingCart.dwl file: retail-site-tests/orderFulfillment.dwl
最後に、テストスイートのテストが含まれるフォルダーを複数作成できます。テストが含まれるフォルダー内にサブフォルダーを作成することもできます。bat.yaml ファイルの files セクションでテストをリストするときは正しい相対パスを指定するようにしてください。
bat.yaml ファイルの reporters セクションこれは、テストの失敗を報告するようにさまざまなツールやサードパーティアプリケーションを設定するセクションです。この例では、HelloWorld.dwl テストが失敗したときに、失敗のレポートをファイル /tmp/HTML.html に書き込むように BAT CLI に要求します。レポートのセットアップについては、「テストレポートの設定および表示」を参照してください。
bat.yaml ファイルの secrets セクション非公開の場所からテストスイートを実行する場合、BAT CLI の Anypoint シークレットマネージャーとのインテグレーションを使用して、テストで共有シークレットを使用できます。
config フォルダーconfig フォルダーには、ファイルの変数を保存できます。たとえば、API を開発して dev と qa の 2 つの環境にデプロイするとします。前者のエンドポイント URL は dev.myapi.com で、後者のエンドポイント URL は qa.myapi.com です。API は両方の環境で同様に動作します。
両方の環境で API をテストしたいと考えています。ただし、dev の API のデプロイメントと qa の API のデプロイメントのために 2 つのテストをコーディングする代わりに、各環境の設定ファイルを作成できます。設定ファイルごとに、対応する環境のエンドポイント URL を格納する url という名前の変数を配置できます。
dev.dwl のコンテンツ (dev 環境の設定ファイル){
url: "dev.myapi.com"
}
qa.dwl のコンテンツ (qa 環境の設定ファイル){
url: "qa.myapi.com"
}
テストでは、url 変数を $(config.variable) の構文内に配置して使用できます。variable は、使用する変数の名前です。次のサンプルテストでは、GET 要求で url 変数を使用して、応答コードが 200 である必要があるアサーションをテストします。
import * from bat::BDD
import * from bat::Assertions
---
suite("Hello world suite") in [
it must 'answer 200' in [
GET `$(config.url)` with {} assert [
$.response.status mustEqual 200
]
]
]
テストを実行するときに、--config パラメーターを使用して、使用する設定ファイルを指定できます。テストスイートを監視として Anypoint Platform の API 機能監視にアップロードする場合、監視のスケジュールの作成時に使用する設定を指定できます。
設定ファイルの形式として JSON、ファイル拡張子として .dwl を使用します。各ファイルに配置できる変数の数に制限はありません。