V6 рдореЗрдВ, рдПрдХ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рджреГрд╢реНрдп рд╕реЗ рдкрд╣рд▓реЗ рд╣реБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
Before({ tags: '<strong i="6">@ignore</strong>' }, async function () {
return 'skipped';
});
рдпрд╣ рд╡рд╣реА рдХреЛрдб рдЕрдм рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рдХреЗ рд╕рд╛рде v7 рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:
error TS2769: No overload matches this call.
Overload 1 of 3, '(tags: string, code: TestCaseHookFunction): void', gave the following error.
Argument of type '{ tags: string; }' is not assignable to parameter of type 'string'.
Overload 2 of 3, '(options: IDefineTestCaseHookOptions, code: TestCaseHookFunction): void', gave the following error.
Argument of type '(this: CustomWorld) => Promise<string>' is not assignable to parameter of type 'TestCaseHookFunction'.
Type '(this: CustomWorld) => Promise<string>' is not assignable to type 'TestCaseHookFunctionWithoutParameter'.
Type 'Promise<string>' is not assignable to type 'void | Promise<void>'.
Type 'Promise<string>' is not assignable to type 'Promise<void>'.
v7 рдореЗрдВ рдХрд┐рд╕реА рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?
рдзрдиреНрдпрд╡рд╛рдж
рдореИрдВ рдХрдХрдбрд╝реА v7 рдХреЗ рд▓рд┐рдП Serenity/JS рдореЗрдВ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдареАрдХ рдЙрд╕реА рдореБрджреНрджреЗ рдкрд░ рдЖрдпрд╛ рдерд╛ред
рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмрдЬрд╛рдп рдЯрд╛рдЗрдк рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬреЛ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдЬреИрд╕реЗ рдпрд╣ v6 рдореЗрдВ рдХрд░рддреА рдереАред
@charlierudolph / @davidjgoss , рдХреНрдпрд╛ рдЖрдк рдпрд╣
support_code_library_builder/types.ts
рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд╣реИрдВ:
export type TestCaseHookFunctionWithoutParameter = () => void | Promise<void>
export type TestCaseHookFunctionWithParameter = (
arg: ITestCaseHookParameter
) => void | Promise<void>
рдЪреВрдВрдХрд┐ рдХрдХрдбрд╝реА рд╣реБрдХ рдХреЛ void
, string
рдХрд╛ 'skipped'
рдпрд╛ 'pending'
, рдпрд╛ Promise
рдЙрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ , рдПрдХ рдмреЗрд╣рддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рддрд░рд╣ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
export type TestCaseHookFunctionResult = 'skipped' | 'pending' | void
export type TestCaseHookFunctionWithoutParameter = () => TestCaseHookFunctionResult | Promise<TestCaseHookFunctionResult>
export type TestCaseHookFunctionWithParameter = (
arg: ITestCaseHookParameter
) => TestCaseHookFunctionResult | Promise<TestCaseHookFunctionResult>
рдЬрдм рддрдХ рдпрд╣ рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдкреЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣рд▓ рдкрд░реАрдХреНрд╖рдг рд╣реБрдХ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдЧрд╛:
import { Before } from '@cucumber/cucumber';
Before({ tags: '<strong i="25">@ignore</strong>' }, function () {
return 'skipped' as any;
});
рд╣рд╛рдп @ рдЬрд╛рди-рдореЛрд▓рдХ, рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!
рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб @ рдЬрди-рдореЛрд▓рдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рдореИрдВ рдЬрд▓реНрдж рд╣реА рдЗрд╕реЗ рджреЗрдЦ рд▓реВрдВрдЧрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдХрдХрдбрд╝реА v7 рдХреЗ рд▓рд┐рдП Serenity/JS рдореЗрдВ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдареАрдХ рдЙрд╕реА рдореБрджреНрджреЗ рдкрд░ рдЖрдпрд╛ рдерд╛ред
рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмрдЬрд╛рдп рдЯрд╛рдЗрдк рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬреЛ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдЬреИрд╕реЗ рдпрд╣ v6 рдореЗрдВ рдХрд░рддреА рдереАред
@charlierudolph / @davidjgoss , рдХреНрдпрд╛ рдЖрдк рдпрд╣
support_code_library_builder/types.ts
рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд╣реИрдВ:рдЪреВрдВрдХрд┐ рдХрдХрдбрд╝реА рд╣реБрдХ рдХреЛ
void
,string
рдХрд╛'skipped'
рдпрд╛'pending'
, рдпрд╛Promise
рдЙрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ , рдПрдХ рдмреЗрд╣рддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рддрд░рд╣ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:рдЬрдм рддрдХ рдпрд╣ рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдкреЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣рд▓ рдкрд░реАрдХреНрд╖рдг рд╣реБрдХ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдЧрд╛: