JavaScriptテストフレームワーク
mabl-cliノードパッケージを使用すると、好みのテストフレームワークでエンドツーエンドのテストをローカルに実行できます。mabl-cliパッケージは、インポート可能なオブジェクトとしてMablTestRunnerを公開しており、これを使用することで、JestなどのJavaScriptテストフレームワーク内からmablテストを初期化して実行できます。
mabl CLIを初めて使用する場合は、「CLIの概要」で追加情報を参照してください。
早期アクセスプログラム
これは早期アクセス機能であり、現在、mabl早期アクセスプログラムの下で一部のお客様に提供されているmabl Runnerと一緒に使用して評価することをお勧めします。アクセスのリクエスト
インストール
mabl-cliを、プロジェクトの別の開発依存関係としてインストールします。
npm install @mablhq/mabl-cli --save-dev
このインストールでは、グローバルにインストールされたCLIツールと同じ認証設定が使用されます。テストを実行する前に、認証がアクティブであるかどうかを確認します。アクティブでない場合は、mabl auth login
を実行します。
テスト内での使用
mabl-cliパッケージからcreateMablTestRunner
関数をインポートして、MablTestRunner
を作成するために使用できます。テストを実行するには、MablTestRunner
で.run() を呼び出します。以下は、1つのテストをヘッドレスモードで実行し、失敗がなかったことをアサートするJavaScript
テストの例です。
import {createMablTestRunner} from '@mablhq/mabl-cli';
jest.setTimeout(30000);
describe('Run mabl tests locally', () => {
it('Run single test', async () => {
const mablTestRunner = await createMablTestRunner({
testId: 'fb60BEqZa3kXZy1Gj0hAsA-j',
branchName: 'master',
headless: true,
});
const result = await mablTestRunner.run();
expect(result.numFailedTests).toEqual(0);
expect(result.success).toEqual(true);
});
});
長時間のテスト実行に対応するには、デフォルトのJestタイムアウトを増やす必要があります。そのための1つの方法は、グローバルにタイムアウト値を指定することです。
jest.setTimeout(30000);
createMablTestRunner([TestRunConfig]) <Promise>
指定したテスト実行の設定でmablTestRunnerを作成する非同期関数。テストを実行するには、次のオプションのいずれかを指定する必要があります (testId | runId | labelsInclude
)。その他はすべてオプションです。
TestRunConfig
:
テスト実行の設定に必要なテストIDを取得する方法については、以下のmablヘルプドキュメントを参照するか、mabl-cliを使用してテストIDのクエリを実行してください。branchName
- テストを実行するmablブランチの名前。
branchChangesOnly
- 指定されたmablブランチにあるテストのみを実行します。
credentialsId
- テストで使用する資格情報ID。
environmentId
- テストで使用する環境ID。
fromPlanId
* テストのリストを取得するプランのID。指定されていない場合は、環境IDと資格情報IDも使用されます。注:
これはプラン実行ではないため、高度なプラン設定 (ステージや共有変数など) は適用されません。headless
- ヘッドレスモードでテストを実行するかどうかを指定します。
labelsExclude
<Array<string>>- ラベルを使用して実行対象テストを指定するときに、テストを除外するラベルの配列。
labelsInclude
<Array<string>>- テストを照会し、順次実行するためのラベルの配列。
testId
- 実行するテストのID。
runId
- ローカル実行設定のためにテスト情報を取得するテスト実行のID。そのテスト実行から、環境、資格情報、URLなどを取得します。
url
- テストを実行するURL
workspaceId
* テストを実行するワークスペースのID。プライマリ設定としてラベルを使用する場合にのみ必要です。
MablTestRunnerを返します。run() 関数を呼び出して、テストを実行します。
MablTestRunner.run() <Promise>
すべてのテストを実行し、テスト結果を返す非同期関数。
時間はすべて、UNIXエポックからのミリ秒単位の時間です。
- 戻り値:
TestResults
numFailedTests
numPassedTests
numSkippedTests
numTotalTests
testResults
<配列<テスト結果>>
status
(passed | failed | skipped)errorMessage
testName
startTime
endTime
startTime
endTime
totalTimeSeconds
- 合計テスト時間 (秒)
success
TypeScriptのサポート
mabl-cliには、TypeScriptで使用するためのタイプが含まれています。上記のタイプは、TypeScriptでインポートすることで利用できるはずです。例については、以下を参照してください。
import {
createMablTestRunner,
TestRunConfig,
TestResults,
} from '@mablhq/mabl-cli';
jest.setTimeout(30000);
describe('mabl Execution Validation Tests', () => {
it('Run single test', async () => {
const testRunConfig: TestRunConfig = {
testId: 'fb60BEqZa3kXZy1Gj0hAsA-j',
branchName: 'master',
headless: true,
};
const mablTestRunner = await createMablTestRunner(testRunConfig);
const result: TestResults = await mablTestRunner.run();
expect(result.numFailedTests).toEqual(0);
expect(result.success).toEqual(true);
});
});
Updated 8 months ago