SpecRun.SpecFlow 1.2.0 与 UAP 不兼容,Version=v10.0
SpecRun.SpecFlow 1.2.0 is not compatible with UAP,Version=v10.0
我们已经编写了一个通用 Windows 应用程序并希望使用 SpecFlow 进行测试。我们创建了一个通用 Windows 测试项目。尝试安装 SpecRun.SpecFlow NuGet 包失败并出现此错误:
...
Installing SpecRun.Runner 1.2.0.
Installing SpecFlow 1.9.0.
Installing SpecRun.SpecFlow 1.2.0.
SpecRun.SpecFlow 1.2.0 is not compatible with UAP,Version=v10.0.
SpecFlow 1.9.0 is not compatible with UAP,Version=v10.0.
Some packages are not compatible with UAP,Version=v10.0.
SpecRun.SpecFlow 1.2.0 is not compatible with UAP,Version=v10.0 (win10-arm).
SpecFlow 1.9.0 is not compatible with UAP,Version=v10.0 (win10-arm).
Some packages are not compatible with UAP,Version=v10.0 (win10-arm).
SpecRun.SpecFlow 1.2.0 is not compatible with UAP,Version=v10.0 (win10-arm-aot).
SpecFlow 1.9.0 is not compatible with UAP,Version=v10.0 (win10-arm-aot).
Some packages are not compatible with UAP,Version=v10.0 (win10-arm-aot).
etc.
如何解决?是否需要特定的项目设置?或者有人可以肯定地确认 SpecFlow 确实不兼容吗? SpecFlow documentation 对支持的平台相当不明确。
已安装的软件包:
SpecRun.SpecFlow1.2.0 NuGet 包仅包含 .NET 3.5 程序集,因此您无法将其安装到通用应用程序 (UAP) 项目中。
SpecFlow 和 SpecRun.SpecFlow 不直接支持 UAP。
作为解决方法,您可以执行以下操作:
- 创建便携式 Class 库 (PCL) 并将目标设置为 .Net 4.5.1 和 Windows Universal 10.0
- 提取要测试的代码并将其放入PCL
但要小心,您没有完整的 .NET Apis
可用的。只有您为 PCL.
选择的目标子集
- 在您的 UAP
中添加对 PCL 的引用
- 创建单元测试项目并添加对 PCL
的引用
- 将 SpecRun.SpecFlow 添加到单元测试项目
现在您可以在单元测试项目中使用 SpecFlow 和 SpecRun.SpecFlow。
我们已经编写了一个通用 Windows 应用程序并希望使用 SpecFlow 进行测试。我们创建了一个通用 Windows 测试项目。尝试安装 SpecRun.SpecFlow NuGet 包失败并出现此错误:
...
Installing SpecRun.Runner 1.2.0.
Installing SpecFlow 1.9.0.
Installing SpecRun.SpecFlow 1.2.0.
SpecRun.SpecFlow 1.2.0 is not compatible with UAP,Version=v10.0.
SpecFlow 1.9.0 is not compatible with UAP,Version=v10.0.
Some packages are not compatible with UAP,Version=v10.0.
SpecRun.SpecFlow 1.2.0 is not compatible with UAP,Version=v10.0 (win10-arm).
SpecFlow 1.9.0 is not compatible with UAP,Version=v10.0 (win10-arm).
Some packages are not compatible with UAP,Version=v10.0 (win10-arm).
SpecRun.SpecFlow 1.2.0 is not compatible with UAP,Version=v10.0 (win10-arm-aot).
SpecFlow 1.9.0 is not compatible with UAP,Version=v10.0 (win10-arm-aot).
Some packages are not compatible with UAP,Version=v10.0 (win10-arm-aot).
etc.
如何解决?是否需要特定的项目设置?或者有人可以肯定地确认 SpecFlow 确实不兼容吗? SpecFlow documentation 对支持的平台相当不明确。
已安装的软件包:
SpecRun.SpecFlow1.2.0 NuGet 包仅包含 .NET 3.5 程序集,因此您无法将其安装到通用应用程序 (UAP) 项目中。
SpecFlow 和 SpecRun.SpecFlow 不直接支持 UAP。
作为解决方法,您可以执行以下操作:
- 创建便携式 Class 库 (PCL) 并将目标设置为 .Net 4.5.1 和 Windows Universal 10.0
- 提取要测试的代码并将其放入PCL 但要小心,您没有完整的 .NET Apis 可用的。只有您为 PCL. 选择的目标子集
- 在您的 UAP 中添加对 PCL 的引用
- 创建单元测试项目并添加对 PCL 的引用
- 将 SpecRun.SpecFlow 添加到单元测试项目
现在您可以在单元测试项目中使用 SpecFlow 和 SpecRun.SpecFlow。