UNPKG

@tsdi/unit

Version:

unit testing framework, base on AOP, Ioc container

227 lines (226 loc) 4.24 kB
import { Token } from '@tsdi/ioc'; /** * test case. * * @export * @interface ITestCase */ export interface ICaseDescribe { /** * case title. * * @type {string} * @memberof ICaseDescribe */ title: string; /** * test case method name. * * @type {string} * @memberof ICaseDescribe */ key: string; /** * old test fn. * * @type {Function} * @memberof ICaseDescribe */ fn?: Function; /** * case order * * @type {number} * @memberof ICaseDescribe */ order?: number; /** * case test time out. * * @type {number} * @memberof ICaseDescribe */ timeout?: number; /** * case test throwed error. * * @type {Error} * @memberof ICaseDescribe */ error?: Error; /** * case start test at. * * @type {number} * @memberof ICaseDescribe */ start?: number; /** * case end test at. * * @type {number} * @memberof ICaseDescribe */ end?: number; } /** * suite hook for old unit test. * * @export * @interface ISuiteHook */ export interface ISuiteHook { fn: Function; /** * case test time out. * * @type {number} * @memberof ICaseDescribe */ timeout?: number; } /** * suite. * * @export * @interface ISuite */ export interface ISuiteDescribe { /** * suite describe. * * @type {string} * @memberof ISuiteDescribe */ describe: string; /** * suite cases. * * @type {ICaseDescribe[]} * @memberof ISuiteDescribe */ cases: ICaseDescribe[]; /** * suite test timeout. * * @type {number} * @memberof ISuiteDescribe */ timeout?: number; /** * suite test start time. * * @type {number} * @memberof ISuiteDescribe */ start?: number; /** * suite test end time. * * @type {number} * @memberof ISuiteDescribe */ end?: number; /** * suite before hook for old unit test. * * @type {ISuiteHook[]} * @memberof ISuiteDescribe */ before?: ISuiteHook[]; /** * suite beforeEach hook for old unit test. * * @type {ISuiteHook[]} * @memberof ISuiteDescribe */ beforeEach?: ISuiteHook[]; /** * suite after hook for old unit test. * * @type {ISuiteHook[]} * @memberof ISuiteDescribe */ after?: ISuiteHook[]; /** * suite afterEach hook for old unit test. * * @type {ISuiteHook[]} * @memberof ISuiteDescribe */ afterEach?: ISuiteHook[]; } /** * report * * @export * @interface ITestReport */ export interface ITestReport { /** * suites. * * @type {Map<Token, ISuiteDescribe>} * @memberof ITestReport */ suites: Map<Token, ISuiteDescribe>; /** * add suite. * * @param {Token} suit * @param {ISuiteDescribe} describe * @memberof ITestReport */ addSuite(suit: Token, describe: ISuiteDescribe): any; /** * get suite. * * @param {Token} suit * @returns {ISuiteDescribe} * @memberof ITestReport */ getSuite(suit: Token): ISuiteDescribe; /** * set suite completed. * * @param {Token} suit * @memberof ITestReport */ setSuiteCompleted(suit: Token): any; /** * add case. * * @param {Token} suit * @param {ICaseDescribe} testCase * @memberof ITestReport */ addCase(suit: Token, testCase: ICaseDescribe): any; /** * get case. * * @param {Token} suit * @param {string} test * @returns {ICaseDescribe} * @memberof ITestReport */ getCase(suit: Token, test: string): ICaseDescribe; /** * set case completed. * * @param {ICaseDescribe} testCase * @memberof ITestReport */ setCaseCompleted(testCase: ICaseDescribe): any; /** * track error. * @param error */ track(error: Error): any; /** * report. * * @returns {Promise<void>} * @memberof ITestReport */ report(): Promise<void>; }