Я использую dotCover и Jetbrains Rider. У меня проблема с тестовым покрытием. Учитывая следующий класс. Я не могу получить полное тестовое покрытие в классе. dotCover указывает, что свойство Settings и свойство Item, соответствующее частному индексатору, имеют покрытие 0%. Я получаю покрытие по методу publi c Env, который, в свою очередь, запускает остальную часть кода.
public class SettingsManager
{
private static SettingsManager _instance;
private readonly JObject _secrets;
private const string FileName = "appsettings.json";
private SettingsManager()
{
using (var reader = new StreamReader(FileName))
{
var json = reader.ReadToEnd();
_secrets = JObject.Parse(json);
}
}
private static AppSettingsManager Settings => _instance ?? (_instance = new SettingsManager());
public static string Env(string name)
{
return Settings["env" + ":" + name];
}
private string this[string name]
{
get
{
var path = name.Split(':');
var node = _secrets[path[0]];
for (var index = 1; index < path.Length; index++)
{
node = node[path[index]];
}
return node.ToString();
}
}
}
Почему это происходит и как это исправить, чтобы получить полное тестовое покрытие на класс?