小编Mat*_*att的帖子

.Net核心单元测试 - 模拟IOptions <T>

我觉得我错过了一些非常明显的东西.我有类需要使用.Net Core IOptions模式注入选项(?).当我去单元测试那个类时,我想模拟各种版本的选项来验证类的功能.有谁知道如何正确模拟/实例化/填充Startup类之外的IOptions?

以下是我正在使用的类的一些示例:

设置/选项模型

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace OptionsSample.Models
{
    public class SampleOptions
    {
        public string FirstSetting { get; set; }
        public int SecondSetting { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

要使用设置测试的类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using OptionsSample.Models
using System.Net.Http;
using Microsoft.Extensions.Options;
using System.IO;
using Microsoft.AspNetCore.Http;
using System.Xml.Linq;
using Newtonsoft.Json;
using System.Dynamic;
using Microsoft.Extensions.Logging;

namespace OptionsSample.Repositories
{
    public class SampleRepo : ISampleRepo
    {
        private SampleOptions _options;
        private ILogger<AzureStorageQueuePassthru> _logger;

        public SampleRepo(IOptions<SampleOptions> …
Run Code Online (Sandbox Code Playgroud)

c# configuration unit-testing asp.net-core

102
推荐指数
7
解决办法
4万
查看次数

标签 统计

asp.net-core ×1

c# ×1

configuration ×1

unit-testing ×1