2016-09-06 4 views
0

私はspecflowフィーチャファイルからパラメータとして整数の配列を送信する必要があるシナリオに遭遇しました。私はrow []やcol []として送るようにしたくないテーブルを使うことができました。私は、文字列Specflow(BDD)でStepArgumentTransformationを正しく使用するには?

などとしてパラメータを渡す場合は、次を考えると「470471472472」

として値を設定し、それを受信し、ステップ定義ファイルの分割を行います。上記のシナリオとStepArgumentTransformationの違いは何ですか?ステップの引数変換を使用する他のメリットはありますか?私はXML、日付または任意のオブジェクトを変換することができると私は理解しています。なぜ我々はstepargumenttransformationを使わなければならないのですか?

答えて

2

私は質問を正しく理解したかったと思います。

Specflowは、箱から出して、いくつかの自動変換をサポートしていますDateへの変換のようなものので、Doubleintなどなど、およびそれらについてのあいまいさがないとして、それは、デフォルトではこれらを行います。使用するロケールを知っているので、文字列をdoubleまたはDateに簡単に変換できます。

なぜアレイに変換できないのですか?私はそれができると思うが、あいまいさがある。リスト区切りはどのようにすべきですか?コンマ?数値の全体と小数部の間の区切り記号として使用するロケールはどうですか?

リストをint[]またはIEnumerable<int>に変換するデフォルトの実装を提供することは可能かもしれませんが、リストセパレータとして❖を使用したときになぜ機能しないのかを尋ねる人々が出てくる可能性があります。

ベストプラクティスを推測するのではなく、実装する個人に曖昧さを残す方がよいでしょう。

必要なStepArgumentTransformationは非常に簡単に記述でき、多くのプロジェクトで共有する場合は、外部ステップアセンブリに含めることができます。

だからあなたの多くの質問に答えるために:それは本当に何が違うのではないのです

を、それだけの利益であることをお勧め、ある一つの場所、それをカプセル化します。

はい、どのオブジェクトにも変換できます。私はStepArgumentTransformationを使用せずに実装さ

あなたはStepArgumentTransformationを使用する必要はありません、多くの人がいないが、彼らはあなたの人生がずっと楽に私見

+0

、Specflow自体は、文字列、機能ファイルから整数パラメータを変換します。私はStepArgumentTransformationを外部のステップアセンブリで試したことはありませんでした。私は試してみてください..あなたの説明と貴重な時間をありがとう。 :) – karthikR

関連する問題