如何在我的错误日志中使用步骤的名称? NUnit、Specflow、C#

How can I use the name of a step in my error logs? NUnit, Specflow, C#

我将自动化测试作为端到端场景,因此我有多个 Thens,例如

Scenario: My scenario
Given a
When b
Then check something 1
When c
Then check something 2
When d
And e
Then check something 3

我知道您可以访问测试的名称 TestContext.CurrentContext.Test.Name,您可以将其插入到错误日志中,但我似乎找不到获取步骤名称的方法。

当场景失败时,我想知道它在哪个 Then 语句上失败,例如...

string errorLog += "Scenario \"" + TestContext.CurrentContext.Test.Name + "\" failed on test step: \"" + testStepName + "\"."

...应该产生这样的东西:

Scenario "My scenario" failed on test step: "Then check something 2".

这可能吗?

谢谢

查看 ScenarioStepContext class and StepInfo.Text property. There is a pull request 以添加公开当前步骤类型和文本的功能