gpt4 book ai didi

typescript - 如何在 cucumber-js-tsflow 中使用 Hooks(之前/之后)?

转载 作者:行者123 更新时间:2023-12-04 10:22:52 36 4
gpt4 key购买 nike

我目前正在使用 cucumber-js-tsflow 在 Typescript 中编写概念验证自动化解决方案,并且我正在尝试复制我之前在使用 specflow 的其他解决方案中实现的 Hooks 设置。

首先,我想我会在 features/support/hooks.ts 位置的单独的 hooks 文件中添加一个 before 和 after 钩子(Hook),因为这是一个概念证明,我只是希望它在控制台中记录一些文本:

import { binding, before, after } from 'cucumber-tsflow';

@binding()
export class Hooks {
@before()
public static logMessageToConsoleBeforeTestRun(): void {
console.log('Before test message.');
}

@after()
public static logMessageToConsoleAfterTestRun(): void {
console.log('After test message.');
}
}

当我开始运行场景时,上面没有将预期的消息记录到控制台。

然后我尝试通过将上面相同的代码添加到步骤文件而不是钩子(Hook)文件并重新运行来简化事情,但它仍然没有将预期的消息写入控制台。

在创建上述代码时,我确实遵循了 cucumber-js-tsflow ( https://github.com/timjroberts/cucumber-js-tsflow#readme) 的自述文件中的文档,但是没有大量的细节,我真的不确定我可能错过了什么。

有没有其他人遇到过类似的问题并且能够克服它?

最佳答案

您需要在 hooks 文件中进行 2 项更改:
1)不要将钩子(Hook)文件创建为类
2) 使用以下格式:

let { setDefaultTimeout, After, Before, AfterAll, BeforeAll } = require('cucumber');

Before({tags: '@tagName'}, async function() {

console.log('print your info');
});

当您尝试执行使用上述代码中提到的指定标记名称标记的场景时,将执行此 block 。

关于typescript - 如何在 cucumber-js-tsflow 中使用 Hooks(之前/之后)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60758671/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com