Senfgurke は、VBA 用のサンプル駆動テスト フレームワークです。これはどういう意味ですか? Senfgurke を使用すると、自然言語で指定された例を、VBA (Visual Basic for Applications) によって実行される自動テストに変換できます。
注意してください!これは進行中の作業です。将来のバージョンでは、古いバージョンのテスト自動化コードが壊れる可能性があります。
次の例を挙げて、結果に値 1 を加算する Excel 用の新しい「特別な」合計関数を作成するように誰かが求めていると想像してください。
Example: add +1 to sum
Given a is 2
And b is 3
When sum+1 is applied to a and b
Then the result is 6
この例を機能に追加し、「sum_plus_one.feature」という名前のファイル内のすべてを「features」という名前のディレクトリに保存できます。このディレクトリは、VBA コードを含む Office ファイルと同じ場所にある必要があります。
Senfgurke を初めて実行すると、次のような新しい関数を追加するよう提案されます。
Public Sub Given_a_is_INT_C722764574FB(step_parameters As Collection)
'Given a is 2
End Sub
関数名の C722764574FB 部分と混同しないようにしてください。このハッシュ値は、Senfgurke が関数を例の元のステップと照合するのに役立ちます。新しい関数をテストして、sum+1 が正しい結果を返すかどうかを確認できるように、関数にコードを入力します。
例の各ステップでこれを繰り返して Senfgurke を実行すると、コンソールに次のメッセージが表示される場合があります。
Feature: sum plus one
Rule: add one to sum results
Example: add +1 to sum
OK Given a is 2
OK And b is 3
OK When sum+1 is applied to a and b
OK Then the result is 6
このように Senfgurke は、コードが成功したか、エラーが発生したかを示します。
Senfgurke は、アプリケーション固有のアドインとして提供されます。このようにして、テスト対象のアプリケーションと Senfgurke テスト フレームワークを簡単に分離できます。新しい VBA アプリケーションを開始するには、次の手順に従います。
次のイベント マップは、Senfgurke に機能の実行を依頼したときに何が起こるかを説明します。
テストは通常、VBA コンソール ウィンドウから開始されます。この方法で、タグまたはフィルター (ファイル名用) を追加して、テストの実行を特定のタグまたは機能ファイルに制限できます。
Senfgurke が最初に行うことは、機能ファイルを検索し、後の処理のためにメモリにロードすることです。
すべての機能をメモリ内に保持すると、Senfgurke が Gherkin 言語を後で実行するための詳細な命令に変換 (解析) することが容易になります。たとえば、テスト開始時に設定された一致するタグのないサンプルは、後の実行で無視されるか、機能のバックグラウンド ステップがこの機能のすべてのサンプル (別名シナリオ) に追加される可能性があります。
次のステップは、明らかに、前のステップの詳細な実行命令をすべて実行することです。これには、実行からのすべての結果を返すことも含まれます。
上記の機能の実行と並行して、結果がさまざまな形式でレポートされます。デフォルトは冗長形式で、例の各ステップに実行結果を追加するだけで Gherkin 機能が VBA コンソール ウィンドウに書き込まれます。
各テスト実行の最後に、Senfgurke は実行されたサンプル ステップの期間や数などの統計を追加します。
より詳細なドキュメントについては、Feature Indexer によって生成されたインデックスから始まる Senfgurke のフィーチャー ファイルを参照してください。
FMC のブロック図は、一般的なセットアップが 3 つの層で構成されていることを示しています。
いくつかの一般的な決定については、アーキテクチャ決定ログを参照してください。
階層化されたアーキテクチャにより、Senfgurke によって提供される機能がアプリケーション ロジックから確実に分離されます。
未定