Using this answer to mock the IConfiguration methods from an ASP.NET Core app.
I need to mock an IConfigurationSection to return a string array.
My configuration class looks like this:
public class LoggingConfiguration
{
    public string ApplicationName { get; set; }
    public string[] Loggers { get; set; }
}
appsettings.json
{
    "Logging": {
        "LoggingConfiguration": {
              "ApplicationName": "Some app",
              "Loggers":  [ "DiskLogger", "MemoryLogger"],
              "DiskLogger": {
                  "SomeSettingOne" : "setting",
                  "SomeSettingTwo" : "setting",
               },
              "MemoryLogger": {
                  "AnotherSetting": "...",
               }
       }
}
In setting up the mocks - I have two problems.
- I can't figure out how to mock an 
IConfigurationSectionthat would returnstring[](loggers) - I am getting an exception when I try to setup the 
GetChildren()method on theLoggingSectionMock 
public void Setup()
{
    var applicationNameConfigurationSectionMock = new Mock<IConfigurationSection>();
    applicationNameConfigurationSectionMock.Setup(m => m.Value).Returns(TestingApplicationName);
    var loggerNamesConfigurationSectionMock = new Mock<IConfigurationSection>();
    loggerNamesConfigurationSectionMock.Setup(m => m.GetChildren()).Returns(GetLoggerNamesSection);
    //Throwing Method Not Found exception
    LoggingSectionMock.Setup(m => m.GetChildren()).Returns(new List<IConfigurationSection>
        {applicationNameConfigurationSectionMock.Object, loggerNamesConfigurationSectionMock.Object});
    ConfigurationMock.Setup(m => m.GetSection($"{Logging}:{LoggingConfiguration}"))
        .Returns(() => LoggingSectionMock.Object);
}
private IEnumerable<IConfigurationSection> GetLoggerNamesSection()
{
    var loggerNamesConfigurationSections = new List<IConfigurationSection>();
    LoggerNames.ToList().ForEach(loggerName =>
    {
        var configSectionMock = new Mock<IConfigurationSection>();
        configSectionMock.Setup(m => m.Value).Returns(loggerName);
        loggerNamesConfigurationSections.Add(configSectionMock.Object);
    });
    return loggerNamesConfigurationSections;
}