【发布时间】:2020-03-17 11:08:18
【问题描述】:
我对 Specflow 有一个非常奇怪的行为,该行为仅适用于一名团队成员。其他人都没有问题。
VS2019 测试运行程序正确显示所有规范流测试,但是当“运行所有测试”时,没有任何测试被执行,但信息“没有可用的源”。 Specflow 正在正确生成所有 cs 文件。
我尝试创建一个包含一个单元测试项目的全新解决方案,向其中添加规范流,创建一个功能,生成步骤并运行所有测试。一切都按预期工作,测试已执行并成功。然后我将这个新的 csproj 添加到另一个未执行测试的解决方案中。奇怪的是,“新测试”在旧解决方案中也不起作用。
当项目团队的其他人克隆我们的存储库时,安装 specflow 对他们来说一切正常。在这一解决方案中只有这一台机器。我已经尝试重新安装 VS2019。我们检查了解决方案中的每个项目都具有相同的目标平台,我们尝试删除了一些 %TEMP% 文件,但到目前为止没有任何效果。
NuGet 包:
- SpecFlow v3.0.225
- SpecFlow.MsTest v3.0.225
- SpecFlow.Tools.MsBuild.Generation v3.0.225
【问题讨论】:
-
您安装了哪个版本的 SpecFlow,以及您在该测试项目中安装了哪些 NuGet 包?
-
我们正在使用版本为 3.0.225 的 specflow 的 nuget 包以及具有相同版本号的 SpecFlow.MsTest 和 SpecFlow.Tools.MsBuild.Generation。 VS 集成是 VS2019 的最新版本。奇怪的是,在他机器上的另一个项目中,一切正常,但不适用于一个特定的解决方案。
-
您是否尝试过删除解决方案中的
.vs文件夹?这些也是一堆 Visual Studio 临时文件。 -
我实际上在一个旧的单元测试项目中遇到了同样的问题,但是重新创建该项目为我解决了这个问题。你基本上试过了,它仍然没有用。此人是否对
.sln或.csproj文件有任何未提交的更改?也许尝试删除现有的克隆并重新克隆? -
我尝试删除 .vs 文件夹,但没有任何效果。没有未提交的更改,与其他所有人相同的分支。我可能会尝试删除 csproj 并重新添加所有文件,看看是否可行。
标签: c# visual-studio unit-testing specflow