次の方法で共有


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>)

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

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>)

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

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

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

戻り値

Promise<TokenResponse>

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

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 のディクショナリ。

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

ユーザー ID

_finalRedirect

string

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

戻り値

Promise<SignInUrlResponse>

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

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 オブジェクト。

注釈

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

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 オブジェクト。

注釈

"bot" ロールを持つ各アクティビティは 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 から継承