В этом небольшом куске кода:Почему покрытие ветвей NCover составляет 50%, хотя ветвь оценивает как истинные, так и ложные?
public event StabilityChangedHandler StabilityChanged;
267 private void RaiseStabilityChanged()
{
if (StabilityChanged != null)
{
1 StabilityChanged();
}
275 }
NCover сообщает только 50% охват филиального для этого метода. Тем не менее, я знаю, что я вызываю RaiseStabilityChanged() с и без обработчиков, подключенных к StabilityChangedEvent. Слева я помещал количество хитов, сообщенное NCover.
Почему NCover может отчитываться о 50% вместо 100%?
В качестве побочного элемента обычно реализуются события, чтобы подписка/отмена подписки была потокобезопасной. Поэтому вы должны скопировать 'StabilityChanged' в локальную переменную, а затем проверить и вызвать эту переменную. – CodesInChaos