Testim Docs JA

Tricentis Testim ユーザー制作日本語翻訳ドキュメント

パラメーターの上書きルール

Testim Docs

Testim.io でパラメーターを使う方法はいくつかあります。例: データ駆動テストグループExports Parameters設定ファイルと実行フックParams file。それぞれ適用タイミングや目的が異なり、上書きの優先関係が発生します。

上書きの基本

多くのプログラミング言語と同様、同名の値は後から代入したものが有効になります。Testim でも同様に上書きが発生します。

テスト開始前

Note: テストに渡されるすべてのパラメーターはローカルレベルの可視性(テスト全体を大きな 1 つのグループとみなす)を持ちます。

実行中

可視性スコープは次の 3 種類です。

  • Local — 値はグループ内に存在し、グループを抜けるとアクセスできません
  • Test — テストの間有効です
  • Test Suite — 複数テスト実行をまたいで受け渡されます

上書きの優先

スコープが狭い(よりローカルな)値ほど優先されます。ローカルが最強で、必ずローカルが使われます。例:

exports.x = "local"
exportsTest.x = "test"
exportsGlobal.x = "global"
...
console.log(x); // prints "local"

用途の整理

データ駆動テストのパラメーター:

既定値の定義に使います(設定ファイルやフックで上書きされ得る)。配列(オブジェクトの配列)を与えると同一テストを複数回実行できます。

パラメーターファイル:

テスト固有ではなく、すべてのテストへ共通値(例: 共通認証情報)を渡します。

設定ファイル:

動的にパラメーター群を読み込みます。Node.js で実行されるカスタム JS が使えるため、DB や CSV など任意のソースから読み込めます。サンプルはこちら。Notes:

  1. beforeTestbeforeSuite は配列(複数データセット)の返却をサポートしません。配列を渡すとオブジェクトとして扱われます(このコンテキストでは、return ["x", "y" "z"] はほぼ return {1: "x", 2: "y", ;3:"z"}) と等価です)。
  2. beforeSuiteoverrideTestData の両方で同名パラメーターを指定した場合は beforeSuite が優先されます。

beforeSuite でテストデータを上書きする例:

beforeSuite() {
return {
y: 5,
overrideTestData: {
"testname1": [{x: 6}, {x:7}] , // runs testname1 twice
"testname2": {y:7} // y will be 5 because the beforeSuite object wins
}
}