TestAdapter class

単体テストに使用されるテスト アダプター。 このアダプターは、ユーザーからボットへのメッセージの送信をシミュレートするために使用できます。

Extends

注釈

次の例では、テスト アダプターを設定し、単純なテストを実行します。

const { TestAdapter } = require('botbuilder');

const adapter = new TestAdapter(async (context) => {
     await context.sendActivity(`Hello World`);
});

adapter.test(`hi`, `Hello World`)
       .then(() => done());

コンストラクター

TestAdapter((context: TurnContext) => Promise<void> | ConversationReference, Partial<Activity>, boolean)

新しい TestAdapter インスタンスを作成します。

プロパティ

activeQueue

ボットから応答のキューを取得します。

conversation

現在の会話への参照を取得または設定します。

enableTrace

トレース アクティビティを送信するかどうかを示す値を取得します。 トレース アクティビティを送信するかどうかを示す値を設定します。

locale

会話のロケールを取得または設定します。

onTurnError

ミドルウェアまたはアプリケーションの例外をキャッチできるエラー ハンドラーを取得または設定します。 ミドルウェアまたはアプリケーションの例外をキャッチできるエラー ハンドラーを設定します。

template

Activity テスト対象のロジックに送信されるすべてのアクティビティとマージされるテンプレート。

継承されたプロパティ

BotIdentityKey
ConnectorClientKey
OAuthScopeKey

メソッド

addExchangeableToken(string, string, string, string, string)

後で交換できるように、偽の交換可能なトークンを追加します。

addUserToken(string, string, string, string, string)

後で取得できるように、偽のユーザー トークンを追加します。

continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)

TestAdapter を実装 continueConversation() せず、呼び出された場合はエラーを返します。

createConversation(string, string, string)

ConversationReference を作成します。

exchangeToken(TurnContext, string, string, TokenExchangeRequest)

シングル サインオンなどのトークン交換操作を実行します。

getAadTokens(TurnContext, string, string[])

トークン サーバーを使用してユーザーをサインアウトします。

getNextReply()

activeQueue から次のボット応答をデキューして返します。

getSignInLink(TurnContext, string)

SigninCard の一部として送信できるサインイン リンクをトークン サーバーから取得します。

getSignInResource(TurnContext, string, string, string)

サインイン リソースを取得します。

getTokenStatus(TurnContext, string, string, any)

特定のユーザーに対して構成された各接続のトークンの状態を非同期的に取得します。 testAdapter では、addUserToken を介して以前に追加されたトークンを取得します。

getUserToken(TurnContext, string, string)

サインイン フロー内のユーザーの OAuth トークンを取得します。

makeActivity(string)

テキストと現在の会話コンテキストからメッセージ アクティビティを作成します。

processActivity(string | Partial<Activity>, (context: TurnContext) => Promise<any>)

アクティビティを受け取り、ミドルウェア パイプラインを介して実行します。

send(string | Partial<Activity>)

ボットに何かを送信します。 これにより、新 TestFlow しいインスタンスが返されます。これを使用して、ボットの応答を検査し、追加のアクティビティを送信するための追加の手順を追加できます。

sendTextToBot(string, (context: TurnContext) => Promise<any>)

ユーザーからのメッセージ アクティビティを処理します。

signOutUser(TurnContext, string, string)

トークン サーバーを使用してユーザーをサインアウトします。

test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number)

ボットに何かを送信し、指定された応答でボットが返される必要があります。

testActivities(Partial<Activity>[], string, number)

アクティビティの一覧をテストします。

throwOnExchangeRequest(string, string, string, string)

交換要求中に例外をスローする命令を追加します。

継承されたメソッド

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

しばらくしてからユーザーとの会話を非同期的に再開します。

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

しばらくしてからユーザーとの会話を非同期的に再開します。

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

しばらくしてからユーザーとの会話を非同期的に再開します。

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

指定したチャネルに会話を作成します。

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

アダプターのパイプラインにミドルウェアを追加します。

コンストラクターの詳細

TestAdapter((context: TurnContext) => Promise<void> | ConversationReference, Partial<Activity>, boolean)

新しい TestAdapter インスタンスを作成します。

new TestAdapter(logicOrConversation?: (context: TurnContext) => Promise<void> | ConversationReference, template?: Partial<Activity>, sendTraceActivity?: boolean)

パラメーター

logicOrConversation

(context: TurnContext) => Promise<void> | ConversationReference

テスト対象のボット ロジック。

template

Partial<Activity>

(省略可能) 受信したすべてのテスト メッセージに割り当てる既定値を含むアクティビティ。

sendTraceActivity

boolean

ボットによって生成されたトレース アクティビティをアダプターがキューに追加する必要があるかどうかを示します。

プロパティの詳細

activeQueue

ボットから応答のキューを取得します。

activeQueue: Partial<Activity>[]

プロパティ値

Partial<Activity>[]

conversation

現在の会話への参照を取得または設定します。

conversation: ConversationReference

プロパティ値

ConversationReference

enableTrace

トレース アクティビティを送信するかどうかを示す値を取得します。 トレース アクティビティを送信するかどうかを示す値を設定します。

boolean enableTrace

プロパティ値

boolean

トレース アクティビティを送信するかどうかを示す値。

locale

会話のロケールを取得または設定します。

locale: string

プロパティ値

string

onTurnError

ミドルウェアまたはアプリケーションの例外をキャッチできるエラー ハンドラーを取得または設定します。 ミドルウェアまたはアプリケーションの例外をキャッチできるエラー ハンドラーを設定します。

(context: TurnContext, error: Error) => Promise<void> onTurnError

プロパティ値

(context: TurnContext, error: Error) => Promise<void>

非同期操作を表す promise。

注釈

エラー ハンドラーは、次のパラメーターを使用して呼び出されます。

名前 説明
context TurnContext ターンのコンテキスト オブジェクト。
error Error Node.js エラーがスローされました。

template

Activity テスト対象のロジックに送信されるすべてのアクティビティとマージされるテンプレート。

template: Partial<Activity>

プロパティ値

Partial<Activity>

継承されたプロパティの詳細

BotIdentityKey

BotIdentityKey: symbol

プロパティ値

symbol

BotAdapter.BotIdentityKeyから継承されます

ConnectorClientKey

ConnectorClientKey: symbol

プロパティ値

symbol

BotAdapter.ConnectorClientKeyから継承されます

OAuthScopeKey

OAuthScopeKey: symbol

プロパティ値

symbol

BotAdapter.OAuthScopeKeyから継承されます

メソッドの詳細

addExchangeableToken(string, string, string, string, string)

後で交換できるように、偽の交換可能なトークンを追加します。

function addExchangeableToken(connectionName: string, channelId: string, userId: string, exchangeableItem: string, token: string)

パラメーター

connectionName

string

使用する認証接続の名前。

channelId

string

チャネル ID。

userId

string

ユーザー ID。

exchangeableItem

string

交換可能なトークンまたはリソース URI。

token

string

格納するトークン。

addUserToken(string, string, string, string, string)

後で取得できるように、偽のユーザー トークンを追加します。

function addUserToken(connectionName: string, channelId: string, userId: string, token: string, magicCode?: string)

パラメーター

connectionName

string

接続名。

channelId

string

チャネル ID。

userId

string

ユーザー ID。

token

string

格納するトークン。

magicCode

string

(省略可能)このトークンに関連付けるオプションのマジック コード。

continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)

TestAdapter を実装 continueConversation() せず、呼び出された場合はエラーを返します。

function continueConversation(_reference: Partial<ConversationReference>, _logic: (revocableContext: TurnContext) => Promise<void>): Promise<void>

パラメーター

_reference

Partial<ConversationReference>

続行する会話への参照。

_logic

(revocableContext: TurnContext) => Promise<void>

アダプター ミドルウェアの実行後に呼び出す非同期メソッド。

戻り値

Promise<void>

非同期操作を表す promise。

createConversation(string, string, string)

ConversationReference を作成します。

static function createConversation(name: string, user?: string, bot?: string): ConversationReference

パラメーター

name

string

メッセージ交換の名前 (ID も含む)。

user

string

ユーザーの名前 (ID) の既定値: User1。

bot

string

ボットの名前 (ID) の既定値: Bot。

戻り値

ConversationReference

ConversationReference

exchangeToken(TurnContext, string, string, TokenExchangeRequest)

シングル サインオンなどのトークン交換操作を実行します。

function exchangeToken(context: TurnContext, connectionName: string, userId: string, tokenExchangeRequest: TokenExchangeRequest): Promise<TokenResponse>

パラメーター

context
TurnContext

(xref:botbuilder-core。ユーザーとの会話の現在のターンの TurnContext)。

connectionName

string

使用する認証接続の名前。

userId

string

トークンに関連付けられているユーザー ID。

tokenExchangeRequest

TokenExchangeRequest

Exchange 要求の詳細。交換するトークンまたは交換する URI。

戻り値

Promise<TokenResponse>

約束が完了すると、交換されたトークンが返されます。

getAadTokens(TurnContext, string, string[])

トークン サーバーを使用してユーザーをサインアウトします。

function getAadTokens(_context: TurnContext, _connectionName: string, _resourceUrls: string[]): Promise<[key: string]: TokenResponse>

パラメーター

_context
TurnContext

ユーザーとの会話の現在のターンのコンテキスト。

_connectionName

string

使用する認証接続の名前。

_resourceUrls

string[]

トークンを取得するリソース URL の一覧。

戻り値

Promise<[key: string]: TokenResponse>

対応する TokenResponse への resourceUrl の Dictionary。

getNextReply()

activeQueue から次のボット応答をデキューして返します。

function getNextReply(): Partial<Activity>

戻り値

Partial<Activity>

キュー内の次のアクティビティ。または、キューが空の場合は未定義です。

SigninCard の一部として送信できるサインイン リンクをトークン サーバーから取得します。

function getSignInLink(context: TurnContext, connectionName: string): Promise<string>

パラメーター

context
TurnContext

ユーザーとの会話の現在のターンのコンテキスト。

connectionName

string

使用する認証接続の名前。

戻り値

Promise<string>

SigninCard の一部として送信できるトークン サーバーからのサインイン リンク。

getSignInResource(TurnContext, string, string, string)

サインイン リソースを取得します。

function getSignInResource(context: TurnContext, connectionName: string, userId?: string, _finalRedirect?: string): Promise<SignInUrlResponse>

パラメーター

context
TurnContext

(xref:botbuilder-core。ユーザーとの会話の現在のターンの TurnContext)。

connectionName

string

使用する認証接続の名前。

userId

string

User ID

_finalRedirect

string

最終的なリダイレクト URL。

戻り値

Promise<SignInUrlResponse>

Promise新しい SignInUrlResponse オブジェクトを持つ 。

getTokenStatus(TurnContext, string, string, any)

特定のユーザーに対して構成された各接続のトークンの状態を非同期的に取得します。 testAdapter では、addUserToken を介して以前に追加されたトークンを取得します。

function getTokenStatus(context: TurnContext, userId: string, includeFilter?: string, _oAuthAppCredentials?: any): Promise<any[]>

パラメーター

context
TurnContext

ターンのコンテキスト オブジェクト。

userId

string

トークンの状態を取得するユーザーの ID。

includeFilter

string

省略可能。 含める接続のコンマ区切りの一覧。 存在する場合、 パラメーターは includeFilter 、このメソッドが返すトークンを制限します。

_oAuthAppCredentials

any

OAuth の AppCredentials。

戻り値

Promise<any[]>

取得した TokenStatus オブジェクト。

getUserToken(TurnContext, string, string)

サインイン フロー内のユーザーの OAuth トークンを取得します。

function getUserToken(context: TurnContext, connectionName: string, magicCode?: string): Promise<TokenResponse>

パラメーター

context
TurnContext

ユーザーとの会話の現在のターンのコンテキスト。

connectionName

string

使用する認証接続の名前。

magicCode

string

(省略可能)検証するコードを入力した省略可能なユーザー。

戻り値

Promise<TokenResponse>

サインイン フロー内のユーザーの OAuth トークン。

makeActivity(string)

テキストと現在の会話コンテキストからメッセージ アクティビティを作成します。

function makeActivity(text?: string): Partial<Activity>

パラメーター

text

string

メッセージ テキスト。

戻り値

Partial<Activity>

適切なメッセージ アクティビティ。

processActivity(string | Partial<Activity>, (context: TurnContext) => Promise<any>)

アクティビティを受け取り、ミドルウェア パイプラインを介して実行します。

function processActivity(activity: string | Partial<Activity>, callback?: (context: TurnContext) => Promise<any>): Promise<any>

パラメーター

activity

string | Partial<Activity>

処理するアクティビティ。

callback

(context: TurnContext) => Promise<any>

呼び出すボット ロジック。

戻り値

Promise<any>

非同期操作を表す promise。

send(string | Partial<Activity>)

ボットに何かを送信します。 これにより、新 TestFlow しいインスタンスが返されます。これを使用して、ボットの応答を検査し、追加のアクティビティを送信するための追加の手順を追加できます。

function send(userSays: string | Partial<Activity>): TestFlow

パラメーター

userSays

string | Partial<Activity>

ユーザー入力をシミュレートするテキストまたはアクティビティ。

戻り値

ボットの応答を検査し、追加のアクティビティを送信するための追加の手順を追加するために使用できる新しい TestFlow インスタンス。

注釈

この例では、メッセージを送信し、応答が期待どおりに行われたかどうかを確認する方法を示します。

adapter.send('hi')
       .assertReply('Hello World')
       .then(() => done());

sendTextToBot(string, (context: TurnContext) => Promise<any>)

ユーザーからのメッセージ アクティビティを処理します。

function sendTextToBot(userSays: string, callback: (context: TurnContext) => Promise<any>): Promise<any>

パラメーター

userSays

string

ユーザーのメッセージのテキスト。

callback

(context: TurnContext) => Promise<any>

呼び出すボット ロジック。

戻り値

Promise<any>

非同期操作を表す promise。

signOutUser(TurnContext, string, string)

トークン サーバーを使用してユーザーをサインアウトします。

function signOutUser(context: TurnContext, connectionName?: string, userId?: string): Promise<void>

パラメーター

context
TurnContext

ユーザーとの会話の現在のターンのコンテキスト。

connectionName

string

使用する認証接続の名前。

userId

string

サインアウトするユーザー ID。

戻り値

Promise<void>

test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number)

ボットに何かを送信し、指定された応答でボットが返される必要があります。

function test(userSays: string | Partial<Activity>, expected: string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, description?: string, _timeout?: number): TestFlow

パラメーター

userSays

string | Partial<Activity>

ユーザー入力をシミュレートするテキストまたはアクティビティ。

expected

string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void

ボットによって送信される応答のテキストまたはアクティビティが必要です。

description

string

(省略可能)テスト ケースの説明。 指定されていない場合は、生成されます。

_timeout

number

(省略可能) ボットからの応答を待機するミリ秒数。 既定値は の 3000値です。

戻り値

この交換をモデル化された交換に追加する新しい TestFlow オブジェクト。

注釈

これは、 と assertReply()の呼び出しに関するsend()単なるラッパーです。 これは、ヘルパーが提供される一般的なパターンです。

adapter.test('hi', 'Hello World')
       .then(() => done());

testActivities(Partial<Activity>[], string, number)

アクティビティの一覧をテストします。

function testActivities(activities: Partial<Activity>[], description?: string, timeout?: number): TestFlow

パラメーター

activities

Partial<Activity>[]

アクティビティの配列。

description

string

(省略可能)テスト ケースの説明。 指定されていない場合は、生成されます。

timeout

number

(省略可能) ボットからの応答を待機するミリ秒数。 既定値は の 3000値です。

戻り値

この交換をモデル化された交換に追加する新しい TestFlow オブジェクト。

注釈

"ボット" ロールを持つ各アクティビティは assertReply() で処理され、他のすべてのアクティビティは send() を持つユーザー メッセージとして処理されます。

throwOnExchangeRequest(string, string, string, string)

交換要求中に例外をスローする命令を追加します。

function throwOnExchangeRequest(connectionName: string, channelId: string, userId: string, exchangeableItem: string)

パラメーター

connectionName

string

接続名。

channelId

string

チャネル ID。

userId

string

ユーザー ID。

exchangeableItem

string

交換可能なトークンまたはリソース URI。

継承済みメソッドの詳細

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

しばらくしてからユーザーとの会話を非同期的に再開します。

function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>

パラメーター

claimsIdentity

ClaimsIdentity

会話の ClaimsIdentity

reference

Partial<ConversationReference>

続行するスレッドの部分的な ConversationReference

logic

(context: TurnContext) => Promise<void>

アダプター ミドルウェアの実行後に呼び出す非同期メソッド。

戻り値

Promise<void>

非同期操作を表す promise

BotAdapter.continueConversationAsyncから継承

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

しばらくしてからユーザーとの会話を非同期的に再開します。

function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>

パラメーター

claimsIdentity

ClaimsIdentity

会話の ClaimsIdentity

reference

Partial<ConversationReference>

続行するスレッドの部分的な ConversationReference

audience

string

プロアクティブ メッセージの受信者を示す 値。

logic

(context: TurnContext) => Promise<void>

アダプター ミドルウェアの実行後に呼び出す非同期メソッド。

戻り値

Promise<void>

非同期操作を表す promise

BotAdapter.continueConversationAsyncから継承

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

しばらくしてからユーザーとの会話を非同期的に再開します。

function continueConversationAsync(botAppId: string, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>

パラメーター

botAppId

string

ボットのアプリケーション ID。 このパラメーターは、アダプター (コンソール、テストなど) のシングル テナントでは無視されますが、マルチテナント対応の BotFrameworkAdapter にとって重要です。

reference

Partial<ConversationReference>

続行するスレッドの部分的な ConversationReference

logic

(context: TurnContext) => Promise<void>

アダプター ミドルウェアの実行後に呼び出す非同期メソッド。

戻り値

Promise<void>

非同期操作を表す promise

BotAdapter.continueConversationAsyncから継承

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

指定したチャネルに会話を作成します。

function createConversationAsync(_botAppId: string, _channelId: string, _serviceUrl: string, _audience: string, _conversationParameters: ConversationParameters, _logic: (context: TurnContext) => Promise<void>): Promise<void>

パラメーター

_botAppId

string

ボットのアプリケーション ID。

_channelId

string

チャネルの ID。

_serviceUrl

string

チャネルの ID。

_audience

string

コネクタの対象ユーザー。

_conversationParameters

ConversationParameters

会話の作成に使用する会話情報

_logic

(context: TurnContext) => Promise<void>

結果のボット ターンを呼び出すメソッド。

戻り値

Promise<void>

非同期操作を表す promise

注釈

会話を開始するには、ボットがそのアカウント情報と、そのチャネルのユーザーのアカウント情報を知っている必要があります。 ほとんどの_channelsは、直接メッセージ (グループ以外) の会話の開始のみをサポートしています。

アダプターは、チャネルで新しい会話を作成し、そのミドルウェア パイプラインを conversationUpdate 介してロジック メソッドにアクティビティを送信しようとします。

指定したユーザーとの会話が確立されている場合、アクティビティの会話の ID には、新しい会話の ID が含まれます。

BotAdapter.createConversationAsyncから継承

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

アダプターのパイプラインにミドルウェアを追加します。

function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this

パラメーター

middlewares

(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]

追加するミドルウェアまたはミドルウェア ハンドラー。

戻り値

this

更新されたアダプター オブジェクト。

注釈

ミドルウェアは、初期化時にアダプターに追加されます。 各ターンでは、アダプターはミドルウェアを追加した順序で呼び出します。

BotAdapter.useから継承