LoginSignup
0
0

More than 3 years have passed since last update.

Bot Builder v4.5 のユニットテスト: 概要とプロジェクトの作成

Last updated at Posted at 2019-11-18

このシリーズでは BotBuilder v4.5 で新たに追加されたユニットテストのフレームワークを見ていきます。
BotBuilder のユニットテスト全体の流れについては Bot Builder v4 でのテストシリーズ も併せて参照してください。

拡張機能のアップデートとプロジェクトの作成

Visual Studio 用にユニットテストを含んだテンプレートが公開されています。こちらを使って新しいプロジェクトを作成してみます。

1. Visual Studio 拡張機能 | 拡張機能の管理より、「Bot Framework v4 SDK Templates for Visual Studio」のバージョンを確認。古い場合は最新へ更新。
image.png

2. 新規プロジェクトより bot を検索。「Core Bot with Tests (Bot Framework v4)」を選択して「次へ」。
image.png

3. 任意の名前を付けて作成。ここでは MyBotWithUnitTest とした。ソリューション作成後、ボットのプロジェクトとユニットテストプロジェクトがあることを確認。
image.png

4. 中身はこれまでの CoreBot と同様、航空チケットの予約ボットであることを確認。まだ LUIS など必要なコンポーネントを設定していないため、このままでは動作しないが、今回はユニットテスト用として作成したため、このままにしておく。

ユニットテストを実行

ユニットテストは LUIS やデータベースなど、外部の依存サービスがない状態で動作すべきであり、BotBuilder v4.5 のテストフレームワーくもそのように設計されています。まずはこの状態でテストが動作するか見ていきましょう。

1. ソリューションをビルドしてエラーがないことを確認。表示 | テストエクスプローラーを選択。
image.png

2. 既存のテストが多数ある事を確認して、「すべてのテストを実行」をクリック。
image.png

3. テストが無事終了することを確認。
image.png

ベースとなるユニットテストフレームワーク

BotBuilder v4.5 では xUnit が使われています。xUnit は NUnit と並んでよくつかわれているテストフレームワークであるため、使ったことがある開発者の方も多いと思いますが、次回以降で使い方を見ていきます。
image.png

テスト対象

テストの対象は Bot クラス、コントローラー、ダイアログ の 3 つです。今後中身は別途確認してきます。
image.png

使われているフレームワーク

ユニットテストのフレームワークとしては xUnit
サービスの各種モックには Moq ライブラリが使われています。

xUnit はこちらのクイックスタートを参照
Moq はこちらのクイックスタートを参照

まとめ

これまで自力でセットアップしてきたユニットテストが、SDK の一部となり正式なフローも公開されたことで、よりテストしやすくい、またサンプルも見つけやすくなりました。次回はテストの内容についてみていきます。

次の記事へ
目次へ戻る

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0