TestSettings.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Microsoft.Extensions.Configuration;
  2. namespace Apq.Cfg.Tests;
  3. /// <summary>
  4. /// 测试配置读取器,用于读取 appsettings.json 中的测试配置
  5. /// </summary>
  6. public static class TestSettings
  7. {
  8. private static readonly IConfigurationRoot _configuration;
  9. static TestSettings()
  10. {
  11. var builder = new ConfigurationBuilder()
  12. .SetBasePath(AppContext.BaseDirectory)
  13. .AddJsonFile("appsettings.json", optional: true, reloadOnChange: false);
  14. _configuration = builder.Build();
  15. }
  16. /// <summary>
  17. /// Redis 连接字符串
  18. /// </summary>
  19. public static string? RedisConnectionString => _configuration["TestConnections:Redis"];
  20. /// <summary>
  21. /// 数据库连接字符串
  22. /// </summary>
  23. public static string? DatabaseConnectionString => _configuration["TestConnections:Database"];
  24. /// <summary>
  25. /// 数据库提供程序类型
  26. /// </summary>
  27. public static string? DatabaseProvider => _configuration["TestConnections:DatabaseProvider"];
  28. /// <summary>
  29. /// 检查 Redis 连接是否已配置
  30. /// </summary>
  31. public static bool IsRedisConfigured => !string.IsNullOrWhiteSpace(RedisConnectionString);
  32. /// <summary>
  33. /// 检查数据库连接是否已配置
  34. /// </summary>
  35. public static bool IsDatabaseConfigured =>
  36. !string.IsNullOrWhiteSpace(DatabaseConnectionString) &&
  37. !string.IsNullOrWhiteSpace(DatabaseProvider);
  38. }