다음을 통해 공유


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

미들웨어 또는 애플리케이션에서 예외를 catch할 수 있는 오류 처리기를 가져오거나 설정합니다. 미들웨어 또는 애플리케이션에서 예외를 catch할 수 있는 오류 처리기를 설정합니다.

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)

Single Sign-On과 같은 토큰 교환 작업을 수행합니다.

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)

교환 요청 중에 예외를 throw하는 명령을 추가합니다.

상속된 메서드

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

미들웨어 또는 애플리케이션에서 예외를 catch할 수 있는 오류 처리기를 가져오거나 설정합니다. 미들웨어 또는 애플리케이션에서 예외를 catch할 수 있는 오류 처리기를 설정합니다.

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

속성 값

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

비동기 작업을 나타내는 프라미스입니다.

설명

오류 처리기는 다음 매개 변수를 사용하여 호출됩니다.

이름 묘사
context TurnContext 순서에 대한 컨텍스트 개체입니다.
error Error throw된 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>

비동기 작업을 나타내는 프라미스입니다.

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)입니다.

반환

ConversationReference

ConversationReference.

exchangeToken(TurnContext, string, string, TokenExchangeRequest)

Single Sign-On과 같은 토큰 교환 작업을 수행합니다.

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 사전입니다.

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>

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>

비동기 작업을 나타내는 프라미스입니다.

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>

비동기 작업을 나타내는 프라미스입니다.

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 개체입니다.

설명

"봇" 역할이 있는 각 작업은 assertReply()로 처리되고 다른 모든 활동은 send()를 사용하여 사용자 메시지로 처리됩니다.

throwOnExchangeRequest(string, string, string, string)

교환 요청 중에 예외를 throw하는 명령을 추가합니다.

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>

비동기 작업을 나타내는 프라미스

설명

대화를 시작하려면 봇이 해당 채널의 계정 정보와 사용자의 계정 정보를 알고 있어야 합니다. 대부분의 _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 상속된