Мы используем Common.Logging в качестве нашей инфраструктуры регистрации, типичный класс будет выглядеть следующим образом:
using Common.Logging;
[...]
public MyClass
{
private static readonly ILog Logger = LogManager.GetLogger<MyClass>();
[...]
public void MyMethod()
{
Logger.Debug(l => l("MyMethod started"));
[...]
}
[...]
}
Мы вызываем методы классов в нашем модульном тесте, однако при проверке покрытия кода мыВы получите все Logger.Debug(l => l(...
, помеченные как имеющие отсутствующее покрытие, это потому, что код внутри Debug
никогда не выполняется, так как предполагается, что он запускается только тогда, когда уровень ведения журнала установлен на соответствующем уровне, в данном случае Debug.
Есть ли способ избежать этой маркировки покрытия?Или игнорировать все отложенные вызовы журналирования или принудительно вести журналирование на самом низком уровне при выполнении модульных тестов?