- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图模拟顶级(不是任何部分的一部分)配置值(.NET Core 的 IConfiguration),但徒劳无功。例如,这些都不起作用(使用 NSubstitute,但它与 Moq 或我相信的任何模拟包相同):
var config = Substitute.For<IConfiguration>();
config.GetValue<string>(Arg.Any<string>()).Returns("TopLevelValue");
config.GetValue<string>("TopLevelKey").Should().Be("TopLevelValue"); // nope
// non generic overload
config.GetValue(typeof(string), Arg.Any<string>()).Returns("TopLevelValue");
config.GetValue(typeof(string), "TopLevelKey").Should().Be("TopLevelValue"); // nope
就我而言,我还需要调用
GetSection
来自同一个配置实例。
最佳答案
您可以使用具有内存数据的实际 Configuration 实例。
//Arrange
var inMemorySettings = new Dictionary<string, string> {
{"TopLevelKey", "TopLevelValue"},
{"SectionName:SomeKey", "SectionValue"},
//...populate as needed for the test
};
IConfiguration configuration = new ConfigurationBuilder()
.AddInMemoryCollection(inMemorySettings)
.Build();
//...
现在是根据需要使用配置来进行测试的问题
//...
string value = configuration.GetValue<string>("TopLevelKey");
string sectionValue = configuration.GetSection("SectionName").GetValue<string>("SomeKey");
//...
引用:
Memory Configuration Provider
关于c# - 如何模拟 IConfiguration.GetValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64794219/
我有一个 API,我正在尝试使用 XUnit 对其进行一些集成测试。这是我的 API Controller 构造函数: public class MyController : Controller {
我试图模拟顶级(不是任何部分的一部分)配置值(.NET Core 的 IConfiguration),但徒劳无功。例如,这些都不起作用(使用 NSubstitute,但它与 Moq 或我相信的任何模拟
我想问一下如何创建 ASP.NET Core 配置的实例,这与我在知道 appsettings.json 的 Controller 构造函数中需要它时创建的实例相同。文件 喜欢 _config = A
我正在尝试从 appsettings.json 读取连接字符串,我正在使用: services.AddSingleton(Configuration); 启动时的这一行抛出空值。我是 core2.0
我可能已经盯着这个很久了,但是最近几天我已经跳入了用于 asp.net 的 MVC6,虽然我真的很喜欢这个,但我似乎找不到一种方便的方式来访问它之后的配置在 Start.cs 中定义为 Configu
我正在尝试在我的应用程序中检索配置。 我已将 IConfiguration 传递给需要提取一些设置的服务类。 这个类看起来有点像这样: private IConfiguration _configur
我正在为 ServiceCollection 编写自己的扩展方法来注册我的模块的类型,并且我需要从集合中访问 IConfiguration 实例来注册我的选项。 扩展方法 public static
以下内容仅供引用。 我有一个包含以下内容的 secrets.json: { "Message": "I still know what you did last summer." } 我需要使
我正在制作 fixture到我的tests . 在我的 FixtureFactory我自己做 ServiceCollection : private static ServiceCollect
我一直在尝试解决这个问题,但什么也想不起来了...... 使用 token 的 Web 应用程序,但有些事情让我退缩。 var key = new SymmetricSecurityKey(Encod
通过项目移动类(class)后,IConfiguration 之一方法,GetValue , 停止工作。用法是这样的: using Newtonsoft.Json; using System; usi
我正在使用 C# 和 Core .NET 构建类库。我正在尝试使用 config.json 文件中的配置。以下是该文件的内容: config.json { "emailAddress":"some
出于某种原因,我们无法在启动时从 Azure KeyVault 检索 secret 值。虽然 secret 似乎可以通过 IConfiguration 接口(interface)在过程中使用的方法中获
我们可以像这样将 IConfiguration 注入(inject)到类中: //Controller AppSettings obj = new AppSettings(_configuration
出于某种原因,我们无法在启动时从 Azure KeyVault 检索 secret 值。虽然 secret 似乎可以通过 IConfiguration 接口(interface)在过程中使用的方法中获
.NET Core 配置允许使用很多选项来添加值(环境变量、json 文件、命令行参数)。 我只是无法弄清楚并找到如何通过代码填充它的答案。 我正在为配置的扩展方法编写单元测试,我认为通过代码将其填充
我有一个非常简单的方法需要进行单元测试。 public static class ValidationExtensions { public static T GetValid(this IC
我正在使用 asp.net + Autofac。 我正在尝试加载一个自定义 JSON 配置文件,并基于该文件创建/实例化一个 IConfiguration 实例,或者至少将我的文件包含到默认情况下 a
我通常会做以下事情 static void Main() { IConfiguration config = new ConfigurationBuilder()
public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilde
我是一名优秀的程序员,十分优秀!