Атрибут MoledTypeAttribute для определенного типа генерирует родинки и заглушки для всех типов в сборке целевого типа. - PullRequest
0 голосов
/ 14 января 2012

Я надеялся, что, например, [assembly: MoledType(typeof(System.DateTime))] сгенерирует только mscorlib.Moles сборку с System.Moles.MDateTime, но сгенерированная сборка содержит все типы в mscorlib moled.Это нормальное или задокументированное поведение (я не смог найти ответ в http://research.microsoft.com/en-us/projects/pex/molesmanual.pdf)?

Ответы [ 2 ]

0 голосов
/ 31 января 2012

Как правило, вы можете указать несколько параметров фильтра в файле .moles (исключение составляет mscorlib, как вы обнаружили, и упомянул Майк). Например, вы можете полностью отключить генерацию заглушки или моля с элементами StubGeneration или MoleGeneration соответственно. Для большего контроля вы также можете использовать элемент Types с комбинацией элементов Add, Remove и Clear.

Справочное руководство по Moles подробно описывает фильтрацию типов заглушек на страницах 12 и 13. К сожалению, в нем не упоминается фильтрация типов Mole, но процесс в основном такой же.

0 голосов
/ 14 января 2012

Да, это ожидаемая функциональность.Mscorlib предварительно скомпилирован.Перед отправкой прекомпиляции первая компиляция Moles заняла очень много времени.Быстрое время компиляции было продано за невозможность выборочного моделирования типов каркаса.Поскольку сборка "мол" - это, по сути, гигантская оболочка, заполненная вызовами Func для mscorlib, обеспечение охвата всей платформы очень мало влияет на производительность и, следовательно, является приемлемой сделкой.

...