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 core asp.net 运行 CRUD 脚手架时出错