Как использовать web.config при модульном тестировании приложения asp .net

Вы можете загрузить файл aspdotnet web.config или app.config .net-framework из любого места, используя aspx OpenMappedExeConfiguration. Убедитесь, что System.Configuration добавлен unit-testing в список ссылок вашего проекта.

ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap()
fileMap.ExeConfigFilename = @"c:\my-web-app-location\web.config"

Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
string connectionString = config.AppSettings.Settings["ConnectionString"].Value;

Вот asp.net довольно стандартный файл unit-tests web.config.



  
  
  
    
  

Обновление от 29 сентября 2017 г.

Я придумал класс, чтобы unit-test упростить чтение AppSetitngs dot-net из файла. Я получил эту идею asp.net-website от Zp Bappi.

public interface IAppSettings
{
    string this[string key] { get; }
}

public class AppSettingsFromFile : IAppSettings
{
    readonly Configuration Config;

    public AppSettingsFromFile(string path)
    {
        var fileMap = new ExeConfigurationFileMap();
        fileMap.ExeConfigFilename = path;
        Config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
    }

    public string this[string key]
    {
        get
        {
            return Config.AppSettings.Settings[key].Value;
        }
    }
}

Вот как использовать asp.net-website класс.

IAppSettings AppSettings = new AppSettingsFromFile(@"c:\my-web-app-location\web.confg");
string connectionString = AppSettings["ConnectionString"];

.net

asp.net

unit-testing

2022-11-12T22:18:39+00:00