使用 Visual Studio for Mac 使用 SpecFlow 进行 .NET Core 集成测试

Posted

技术标签:

【中文标题】使用 Visual Studio for Mac 使用 SpecFlow 进行 .NET Core 集成测试【英文标题】:.NET Core Integration Tests with SpecFlow using Visual Studio for Mac 【发布时间】:2022-01-02 21:50:25 【问题描述】:

我们有一个实现一系列 REST API 的 .NET Core 应用,我们有调用每个 API 并验证响应的集成测试。

我们希望能够在测试中使用功能文件,以便它们充当 API 本身的文档。我们一直在研究使用 SpecFlow,但我们正在使用 Visual Studio for Mac 进行应用程序的开发,所有关于如何使其工作的示例都是基于 Windows 的。

Visual Studio for Mac 是否支持此功能?症结似乎在于 Windows 示例依赖于不适用于 Mac 的 Visual Studio 扩展。

【问题讨论】:

这很有趣,因为 Visual Studio 的插件基本上为您提供了一些额外的菜单项和新的项模板。 NuGet 包在构建时进行解析,所以我认为如果你知道在 .csproj 文件中放入什么内容,你可以得到一些工作。 您是否尝试将SpecFlowSpecFlow.Tools.MsBuild.Generation NuGet 包安装到您的测试项目之一?我在 .csproj 文件中查找 .NET Core/MS 测试项目,但没有发现任何特别之处。尝试安装这两个包,然后使用一些示例 Gherkin 创建一个 .feature 文件(您首先需要将其作为文本文件手动执行)并查看构建解决方案是否会创建一个 .feature.cs 文件。 另见:support.specflow.org/hc/en-us/community/posts/… 【参考方案1】:

我现在已经设法在某种程度上使用我的问题的 cmets 中提到的 NuGet 包和 Visual Studio for Mac 的 Straight8 扩展来完成这项工作。

【讨论】:

以上是关于使用 Visual Studio for Mac 使用 SpecFlow 进行 .NET Core 集成测试的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017 for Mac 体验之Android.Form

Visual Studio 2022 for Mac v17.0 发布,离线安装包下载

在Visual Studio for Mac中使用fastlane管理iOS的provision

Visual Studio for Mac 2017 初体验

没有水果机的也来体验下Visual Studio for Mac

如何将 Visual Studio for Mac Project 连接到 Azure Data Studio 数据库?