Введение
Я использую https://github.com/cucumber/cucumber-js в машинописном тексте. Пример реализации кода выглядит как реализация среднего огурца:
import {
Given,
Then,
When
} from 'cucumber'
Given(`Page is up and running`, function(this: World) {
someFunction()
})
Цель
Чего я хотел бы добиться, так это уметь каким-то образом украшать Given
, поэтому что:
- какое-то действие может быть вызвано перед кодом внутри
Given
. Допустим, для простого примера я хотел бы напечатать первый Given
аргумент (поэтому Page is up and running
). - не было бы необходимости изменять существующую реализацию шага.
Каждый шаг получил два определения функции псевдонима в index.d.ts
, например:
export function Given(pattern: RegExp | string, code: StepDefinitionCode): void;
export function Given(pattern: RegExp | string, options: StepDefinitionOptions, code: StepDefinitionCode): void;