SpecFlow の使用方法や、テストを実行するための TFS の構成方法に関する記事はインターネット上に多数ありますが、すべての側面を含む記事はありません。 この記事では、SpecFlow スクリプトの起動と編集を誰にとっても便利にする方法を説明します。
カットの下では、以下の入手方法が説明されています。
背景
私たちは、BDD アプローチを使用してアプリケーションのテストを自動化するという課題に直面しました。 弊社のタスク追跡システムの基盤はTFSなので、SpecFlowスクリプトのステップがTFS上のテストケースのステップとなり、テスト計画からテストを立ち上げるというイメージが頭の中にありました。 以下は私がそれを実装した方法です。
私たちの必要なもの:
- SpecFlow でのテストを含むプロジェクト
- Azure DevOps サーバー (別名 Team Foundation サーバー)
- SpecFlow スクリプトと TFS のテスト ケースを同期するためのツール
調整
1. テストを含むプロジェクト ビルドの作成
ここでは、アーティファクトの組み立てと公開まで、すべてが簡単です。 XNUMX 番目のタスクについては後で詳しく説明します。
2. テストを実行するためのリリースの作成
XNUMX つのタスクでリリースを作成する - Visual Studio テスト
この場合、タスクはテスト計画から手動でテストを実行するように構成されています。
3. テストケースの同期
Visual Studio を使用すると、テスト メソッドを TFS のテスト ケースにリンクし、テスト計画からテスト ケースを実行できることがわかっています。 これを手動で行わないようにするため、またスクリプトの内容を同期するために、簡単なコンソール アプリケーションを作成しました。
FeatureSync の使用方法
名前空間とロケールを機能ファイルのヘッダーに追加します。
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*名前空間は、テスト メソッドを含む .dll ファイルの名前と一致する必要があります。
TFS で空のテスト ケースを作成し、その ID を含むタグをスクリプトに追加します。
@2124573 @posistive
Scenario: Successful authorization
Given I on authorization page
And I enter:
| Login | Password |
| user | pass |
When I press Login button
Then Browser redirect on Home page
FeatureSync を起動します。
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
私たちの場合、テストを使用してプロジェクトをビルドした後に起動が行われます。
同期結果
SpecFlow スクリプト ステップが同期され、自動化ステータスが設定されます
4. テスト計画の設定
テスト計画を作成し、自動化されたケースを追加し、設定でビルドとリリースを選択します。
5. テストの実行
テスト計画で必要なテストを選択し、実行します。
まとめ
この構成の利点:
- テスターは誰でもバージョン管理 Web フォームで fetaure ファイルを開いて編集でき、変更はビルド直後に有効になります。
- いつでも個別にテストを実行できます
- 透明なテスト モデル - 私たちは、開始したテストが何を行うかを常に知っています。
出所: habr.com