다음을 통해 공유


TestFlow class

테스트 시퀀스의 간단한 생성을 허용하는 TestAdapter 대한 지원 클래스입니다.

설명

adapter.send() 또는 adapter.test() 호출하면 흐름 구문을 사용하여 추가 테스트를 함께 연결할 수 있는 새 테스트 흐름이 만들어집니다.

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

const adapter = new TestAdapter(async (context) => {
   if (context.text === 'hi') {
      await context.sendActivity(`Hello World`);
   } else if (context.text === 'bye') {
      await context.sendActivity(`Goodbye`);
   }
});

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

속성

previous

메서드

assertNoReply(string, number)

턴 처리 논리가 예상대로 봇에서 회신을 생성하지 않았다는 어설션을 생성합니다.

assertReply(string | Partial<Activity> | TestActivityInspector, string, number)

봇 응답이 예상 텍스트/활동과 일치하지 않는 경우 어설션을 생성합니다.

assertReplyOneOf(string[], string, number)

봇 응답이 후보 문자열 중 하나가 아닌 경우 어설션을 생성합니다.

catch((reason: any) => void)

테스트 프라미스 체인에 catch() 절을 추가합니다.

delay(number)

계속하기 전에 지연을 삽입합니다.

finally(() => void)

finally 절을 추가합니다. 나중에 체인을 유지할 수 없습니다.

send(string | Partial<Activity>)

봇에 무언가를 보냅니다.

sendConversationUpdate()

대화 업데이트 작업을 만들고 활동을 처리합니다.

startTest()

테스트 시퀀스를 시작하고 대기할 약속을 반환합니다.

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

봇에 무언가를 보내고 지정된 회신과 함께 봇이 반환되도록 합니다. 이는 단순히 send()assertReply()호출에 대한 래퍼입니다. 도우미가 제공되는 일반적인 패턴입니다.

then(() => void, (err: any) => void)

테스트 약속 체인에 then() 단계를 추가합니다.

속성 세부 정보

previous

previous: Promise<void>

속성 값

Promise<void>

메서드 세부 정보

assertNoReply(string, number)

턴 처리 논리가 예상대로 봇에서 회신을 생성하지 않았다는 어설션을 생성합니다.

function assertNoReply(description?: string, timeout?: number): TestFlow

매개 변수

description

string

(선택 사항) 테스트 사례에 대한 설명입니다. 제공되지 않으면 하나가 생성됩니다.

timeout

number

(선택 사항) 봇의 응답을 기다리는 시간(밀리초)입니다. 기본값은 3000.

반환

이 교환을 모델링된 교환에 추가하는 새 TestFlow 개체입니다.

assertReply(string | Partial<Activity> | TestActivityInspector, string, number)

봇 응답이 예상 텍스트/활동과 일치하지 않는 경우 어설션을 생성합니다.

function assertReply(expected: string | Partial<Activity> | TestActivityInspector, description?: string, timeout?: number): TestFlow

매개 변수

expected

string | Partial<Activity> | TestActivityInspector

봇의 예상 텍스트 또는 활동입니다. 사용자 지정 논리를 사용하여 응답을 검사하는 콜백일 수 있습니다.

description

string

(선택 사항) 테스트 사례에 대한 설명입니다. 제공되지 않으면 하나가 생성됩니다.

timeout

number

(선택 사항) 봇의 응답을 기다리는 시간(밀리초)입니다. 기본값은 3000.

반환

이 교환을 모델링된 교환에 추가하는 새 TestFlow 개체입니다.

assertReplyOneOf(string[], string, number)

봇 응답이 후보 문자열 중 하나가 아닌 경우 어설션을 생성합니다.

function assertReplyOneOf(candidates: string[], description?: string, timeout?: number): TestFlow

매개 변수

candidates

string[]

후보 응답 목록입니다.

description

string

(선택 사항) 테스트 사례에 대한 설명입니다. 제공되지 않으면 하나가 생성됩니다.

timeout

number

(선택 사항) 봇의 응답을 기다리는 시간(밀리초)입니다. 기본값은 3000.

반환

이 교환을 모델링된 교환에 추가하는 새 TestFlow 개체입니다.

catch((reason: any) => void)

테스트 프라미스 체인에 catch() 절을 추가합니다.

function catch(onRejected?: (reason: any) => void): TestFlow

매개 변수

onRejected

(reason: any) => void

테스트가 오류를 throw한 경우 실행할 코드입니다.

반환

이 교환을 모델링된 교환에 추가하는 새 TestFlow 개체입니다.

delay(number)

계속하기 전에 지연을 삽입합니다.

function delay(ms: number): TestFlow

매개 변수

ms

number

대기할 ms입니다.

반환

이 교환을 모델링된 교환에 추가하는 새 TestFlow 개체입니다.

finally(() => void)

finally 절을 추가합니다. 나중에 체인을 유지할 수 없습니다.

function finally(onFinally: () => void): Promise<void>

매개 변수

onFinally

() => void

테스트 체인 후에 실행할 코드입니다.

반환

Promise<void>

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

send(string | Partial<Activity>)

봇에 무언가를 보냅니다.

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

매개 변수

userSays

string | Partial<Activity>

사용자 입력을 시뮬레이션하는 텍스트 또는 활동입니다.

반환

이 교환을 모델링된 교환에 추가하는 새 TestFlow 개체입니다.

sendConversationUpdate()

대화 업데이트 작업을 만들고 활동을 처리합니다.

function sendConversationUpdate(): TestFlow

반환

새 TestFlow 개체입니다.

startTest()

테스트 시퀀스를 시작하고 대기할 약속을 반환합니다.

function startTest(): Promise<void>

반환

Promise<void>

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

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

봇에 무언가를 보내고 지정된 회신과 함께 봇이 반환되도록 합니다. 이는 단순히 send()assertReply()호출에 대한 래퍼입니다. 도우미가 제공되는 일반적인 패턴입니다.

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

then(() => void, (err: any) => void)

테스트 약속 체인에 then() 단계를 추가합니다.

function then(onFulfilled?: () => void, onRejected?: (err: any) => void): TestFlow

매개 변수

onFulfilled

() => void

테스트가 현재 통과되는 경우 실행할 코드입니다.

onRejected

(err: any) => void

테스트가 오류를 throw한 경우 실행할 코드입니다.

반환

이 교환을 모델링된 교환에 추가하는 새 TestFlow 개체입니다.