gpt4 book ai didi

visual-studio-2012 - 为什么场景大纲在 VS 2012 测试资源管理器中显示为 'External'?

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

我有一个场景大纲(又名场景模板),我希望使用 VS 2012 的测试资源管理器列出我的测试。
默认测试分组由“项目”名称完成 - 如果我坚持下去,我的来自场景大纲的测试在“外部”组中,而不是在我的项目组下。

为什么会这样,是否有解决方案/解决方法?

我的情况是我想使用测试资源管理器为给定项目运行所有测试。为所有这些设置相同的特征是愚蠢的,并且容易出现人为错误。

我的解决方案有 10 个这样的项目,并且很快就会添加更多项目。因此,将项目的场景大纲测试保留在“外部”下可能会导致任何人错过它们或获取属于另一个项目的场景大纲生成的测试。

更新

GitHub 用户 Shashi ( https://github.com/shashiprabhakar ) 已向 SpecFlow 贡献者记录了一个问题:https://github.com/techtalk/SpecFlow/issues/275 .非常感谢,伙计!
我已经开始跟踪它,所以如果在那里提出了修复/解决方法,我会在这里发布它作为答案。

最佳答案

<specFlow>
<unitTestProvider name="..." /> <!-- this you have already -->
<generator allowDebugGeneratedFiles="true" /> <!-- this is the important setting -->
</specFlow>

这是 Gaspar Nagy 在 App.config 文件中推荐的配置。 “allowDebugGeneratedFiles”似乎是一张票。
有关标签及其子标签的更多信息,请访问 official SpecFlow configurations page .
不过,将其设置为 TRUE 只是第一步。

正如 Gaspar 所建议的,下一步是在解决方案资源管理器中右键单击项目文件并选择 。重新生成功能文件 选项。

备注 :当您设置 allowDebugGeneratedFiles 标志然后重新生成 .feature 文件时实际会发生什么,SpecFlow 只是删除了 #line hidden#line number来自 .feature.cs 文件。

最后,我个人建议在重建之前或之后重新启动 Visual Studio 2012。当我尝试上述步骤时,测试资源管理器仅在重新启动 Visual Studio 后才能正确显示测试。

PS :Gaspar 指出,如果 allowDebugGeneratedFiles 标志被提升 (=true),那么使用“Run SpecFlow Scenarios”选项将不再起作用。
但是,我可以通过右键单击项目文件来使用该选项。
甚至在我尝试 Gaspar 的建议之前,在 .feature 上使用该选项对我不起作用,所以这一定是他所指的缺点。

PS #2 :Gaspar 还提到不会在 SpecFlow 1.9.2 中删除这样的缺点。

关于visual-studio-2012 - 为什么场景大纲在 VS 2012 测试资源管理器中显示为 'External'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14922597/

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