AssemblyInitialize не измеряется в покрытии кода - PullRequest
2 голосов
/ 19 декабря 2011

Я столкнулся с некоторыми странными результатами при использовании Code Coverage для наших модульных тестов.

В функции AssemblyInitialize мы выполняем некоторую работу по инициализации (например, AutoMapper, AbstractFactories), и эта функция работает правильно.Выполнено.

Странно то, что Code Coverage показывает, что нет покрытия для функций, вызываемых из AssemblyInitialize.Это умышленно или я что-то здесь не так делаю?

1 Ответ

0 голосов
/ 20 декабря 2011

Я бы сказал, что это слишком специфично, чтобы быть чем-то другим. Как человек, который пытается сделать подобное для инструмента покрытия с открытым исходным кодом, кажется странным, что это случайность и очень необычная ошибка.

Пурист из TDD во мне сказал бы, что это потому, что настройка / разборка любого типа (сборка / класс) на самом деле не является частью самого теста и поэтому не должна включаться в покрытие. Вместо этого вы должны иметь отдельные специальные тесты для этого кода, а не полагаться на неудачу при настройке / инициализации теста.

Другие инструменты .NET ( dotCover для одного) обеспечивают покрытие тестом и «могут» также исключать результаты, полученные во время выполнения таких настроек; это скорее предположение, чем известный факт.

...