MS Test Code Coverage возвращает неверные результаты - PullRequest
3 голосов
/ 05 января 2012

Я написал приложение .Net 4 WPF в шаблоне MVVM и написал несколько модульных тестов для этого приложения.Я включил покрытие кода и включил инструментарий в local.testsettings.Моя проблема заключается в том, что покрытие кода не дает правильных результатов.Это показывает, что 86% моего кода анализируется.Тем не менее, часть кода, который, как он говорит, не подвергается удару, поражена.Чтобы доказать это, я поставил точки останова на код и выполнил отладку модульных тестов.Точки останова были достигнуты, поэтому код определенно скрывается.Почему при покрытии кода не видно, что код попал?

Я пытаюсь сделать это с помощью Visual Studio 2010 SP1 и запускаю тесты из представления «Тест».

Есть идеи?

По запросу, вот код.Это весь класс.Покрытие кода говорит, что конструктор не ударил, но это так.Точка останова на "Channel = item;"при отладке модульных тестов строка обрывается.

public class ChannelEventArgs : EventArgs
{
    public ChannelEventArgs(IChannel item)
    {
        Channel = item;
    }

    public IChannel Channel { get; set; }
}

1 Ответ

0 голосов
/ 18 ноября 2013

Учитывая очень много информации, я считаю, что у вас есть проблема с инструментами сборок.

Проверьте список элементов в моем ответе на: Запуск тестов NUnit в Visual Studio 2010с охватом кода

Особенно первый («инструмент на месте»), третий элемент (встроенный в одну папку) и последний элемент (параметр командной строки / noshadow) будут иметь эффект, который вы описали.

Я также могу придумать странный случай, когда ваш проверенный код загружает соответствующую сборку, но тогда вы бы не написали unit test.

...