Почему метод DateTimeParse.TryParse (String, DateTimeFormatInfo, DateTimeStyles, DateTime &) неинструментирован? - PullRequest
1 голос
/ 27 октября 2011

Я пытался заставить некоторые образцы PEX работать, но что-нибудь с DateTime.TryParse / DateTime.Parse приводит к разочаровывающим результатам.Pex не предлагает каких-либо интересных параметров, и если я завершаю это достижимым подтекстом, он просто говорит: 1 Пропущенная цель.

Я думаю, что это должно быть из-за сообщения, которое я получаю о DateTimeParse.TryParseбудучи необученным, но почему он вообще не развит?Почему документ «Параметризованные тестовые шаблоны для Microsoft Pex» использует DateTime в качестве примера, если он не делает ничего интересного?

1 Ответ

1 голос
/ 12 апреля 2012

Uninstrumented означает, что Pex не исследовал код и не знает пути к нему, поэтому не может гарантировать, что он изучит все пути в вашем коде, потому что он не знает, как исследовать путив DateTime.TryParse, чтобы сгенерировать выходные данные, которые затем будут входными для ваших путей кода.Я надеюсь, что вы можете следовать этому.

Поэтому, если вы позволите Pex использовать инструмент класса DateTime, он сможет определить пути в вашем коде и сгенерировать некоторые полезные исследования.Взгляните на Параметризованное модульное тестирование с Microsoft Pex Упражнение 4, которое, надеюсь, объяснит это немного лучше, чем документ, на который вы ссылались.Pex будет обрабатывать только те объекты, о которых вы говорите, поскольку это потенциально дорогостоящая операция (и может привести к глубокому графику).

В результате исследований Pex Pex должен дать вам сообщение винформационная панель о типах, которые нуждаются в контрольно-измерительных приборах.

...