gpt4 book ai didi

specflow - 相当于场景后运行的背景

转载 作者:行者123 更新时间:2023-12-02 19:15:23 24 4
gpt4 key购买 nike

我是 SpecFlow 的新手,正在设置许多针对不同角色类型的经过身份验证的用户的测试功能/场景。我通过 Coypu 的浏览器自动化来完成此操作。

因此,我在该功能中有一个后台步骤来设置该角色类型的用户的登录。

Background:
Given I am logged in as a ...some role I'm interested in...

在功能中的每个场景之后,我想再次注销用户(否则后台中的登录步骤将不适用于下一个场景 - 我在测试之间保持相同的 Coypu 浏览器实例打开)。

我找到了可以使用的 [AfterScenario] 注释,但由于它的范围涵盖所有功能的所有场景(据我所知......),它会影响未经身份验证的场景用户。

我相信我可以使用 [Scope(Feature="Some Feature")] 来确定 [AfterScenario] 的范围,但我预计必须登录/退出在我正在测试的大量功能之前和之后,我不热衷于用一堆神奇的字符串来指定所有这些功能。

所以我想知道是否可以在功能文件中放入一些内容,类似于背景,但要在该功能中的每个场景之后运行。 (或者,也许我为每个场景登录/退出的方式不是处理问题的最佳方式?)

最佳答案

specflow 中没有“Postground”功能,但是您可以使用 tags filtering 实现类似的功能.

在我们的大多数项目中,我们使用标签来标记具有特定设置/拆卸逻辑的场景。然后我们使用 BeforeScenario/AfterScenario 钩子(Hook)来执行逻辑:

[BeforeScenario("authentication")]
public void BeforeAuthenticationScenario()
{
//...
}

[AfterScenario("authentication")]
public void AfterAuthenticationScenario()
{
//...
}

您可以标记单个场景或整个功能:

@authentication
Feature: Some feature requires authentication

@authentication
Scenario: Some scenario requires authentication

因此,在您的代码中,您将只有一个神奇的字符串“authentication”,并且在您的功能中,您可以使用标记以声明方式应用自定义逻辑。

关于specflow - 相当于场景后运行的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10978903/

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