听起来您只是在断言失败时不想要堆栈信息。许多人在尝试调试时发现这很有用,所以我可能会建议尝试隐藏它而不是摆脱它。
由于 SpecFlow 所做的只是将功能文件转换为测试(我们现在假设为 nunit),因此要运行测试,您只需像往常一样运行 NUnit。如果您使用 nunit-console.exe 执行,SpecFlow 开箱即用提供了一个 html 报告生成器来执行您的要求。如果这就是您正在使用的,这也适用于 mstest。
它列出了所有测试并将它们显示为红色或绿色,并有一个 [show]/[hide] 选项,允许您仅在您关心它时显示更多信息。您可以修改报告生成器以对测试输出做任何您想做的事情,但我真的建议将其保留在那里。
下面的链接向您展示了如何设置它。我们在 CI 中运行它,但您可以编写一个批处理脚本,甚至可以通过 C# 执行它。
https://github.com/techtalk/SpecFlow/wiki/Reporting
NUnit Runner
nunit-console.exe /labels /out=TestResult.txt /xml=TestResult.xml bin\Debug\BookShop.AcceptanceTests.dll
- 输出文件有 console.WriteLine 信息
- xml文件有测试结果
SpecFlow 报告生成器
specflow.exe nunitexecutionreport BookShop.AcceptanceTests.csproj /out:MyResult.html