Techioz Blog

Cucumber フィーチャー ファイル: データ テーブルで変数を渡すにはどうすればよいですか

概要

前のステップで定義した変数をフィーチャー ファイルのデータ テーブルに渡す方法はありますか?

次のようなシナリオがあります。

Then database content is
      | serviceName           | timesSet                                 |
      | a_random_service_1    | [0, <my_variable_1>, <my_variable_2>]    |
      | a_random_service_2    | [0]                                      |
      | a_random_service_3    | [0]                                      |

コードから my_variable_1 と my_variable_2 をフェッチしたいと考えています (これらは実行時に定義されます)。 ERBを使用してみましたが、この場合は機能しないようです。

解決策

特定のサービスに複数のタイムセットを渡したいと思うのですが、その場合はそれが可能です(コードはJavaScriptです)が、ロジックは同じです。

|serviceName|timeSet|
|ServiceA||10,20,30|
|ServiceB|44,67,69|


function(serviceName,timeSet){
let timeArray;
if(timeSet.includes(','){
timeArray=timeSet.split(',')// timeArray will contain timeSet like [10,20,30]
}
}

このようにして、timeSet を介して渡そうとしている timeSet の配列を取得できます。

timeArray 変数には、サービスでさらに使用できる配列内の変数が含まれています