我已经开始将 Specflow 3.0 用于带有内置 MSTest 运行器的 .NET 核心测试项目。
我在尝试设置一次性方法执行以便为 Specflow 中所有正在运行的测试保留不记名令牌值时遇到问题。
所以我的想法是创建 [BeforeTestRun] Hook 静态方法,该方法将使用给定的凭据发出 HTTP 请求。问题是这些凭据存储在 .runsettings 文件中,因此我需要拥有 MSTest 的 TestContext 对象才能访问字典属性。
在场景中,我正在注入 TestContext 并且它工作正常,但是我不知道如何在静态 [BeforeTestRun] 方法中访问这个对象。有没有机会自己创建这个对象并存储在静态属性中?
如您所见,这是抽象类,所以我猜测试框架会自动在 Scanarios 中使用 DI 注入具体实现。我怎样才能得到这个具体的实现?
如果解决方案不存在,您是否建议另一种方法我如何存储除 .runsettings 之外的可配置设置,以便我可以在没有 DI 的静态 [BeforeTestRun] 方法中访问它们?
谢谢