使用 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 文件中放入什么内容,你可以得到一些工作。 您是否尝试将SpecFlow
和SpecFlow.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 集成测试的主要内容,如果未能解决你的问题,请参考以下文章
如何在Mac中使用Visual Studio中的异常捕获日志?
如何在 Visual Studio 2008 或 Visual Studio 2010 中设置 JavaScript 断点
Visual Studio Mac Streaming BasicHttpBinding不起作用