dotnet 测试 - 覆盖 .net 核心配置的可能性

Posted

技术标签:

【中文标题】dotnet 测试 - 覆盖 .net 核心配置的可能性【英文标题】:dotnet test - possibility to override .net core configuration 【发布时间】:2016-12-12 14:43:51 【问题描述】:

通过“dotnet test”执行测试时能否覆盖 .net 核心应用程序中的配置值(例如,使用 AddCommandLine 扩展,就像在执行“dotnet run”时一样使用它。

更多信息:

Tests 做了一些集成测试,通过这些测试 Startup.cs 也从 asp.net 核心项目中执行,我想在那里覆盖一个配置值。

【问题讨论】:

一种选择是为测试创建一个Startup.cs,或者在您的测试配置中添加一个 app.settings。 已经有了,正在寻找一种方法来覆盖该 appsettings 文件中的配置 我有一个 appsettings.json(生产)和一个 appsettings.development.json。您可以这样做或创建一个新的:例如 appsettings.test.json。 我知道您可以拥有多个配置文件(称为转换),但我的问题是您是否可以从命令行覆盖配置值,而不是通过拥有不同的配置文件! 【参考方案1】:

您应该创建一个接口和一个包装类来处理应用程序设置,并模拟您的接口或为您的测试项目使用假货。那么您将能够在测试时控制需要设置为 appsettings 的内容

【讨论】:

以上是关于dotnet 测试 - 覆盖 .net 核心配置的可能性的主要内容,如果未能解决你的问题,请参考以下文章

在 asp.net 核心的构建后事件中运行 dotnet publish

这个站点无法从dotnet linux提供安全的asp.net核心连接

创建了 dotnet 核心构建和 json 文件

为 dotnet core asp.net 运行 CRUD 脚手架时出错

inno setup检查dotnet core是不是已安装[关闭]

dotnet 核心包版本控制