Visual Studio интегрировала пользовательское поведение задачи MSBuild - PullRequest
1 голос
/ 12 мая 2009

Я искал в сети нестандартную задачу MSBuild NUnit, которая запускалась бы при каждой сборке, а также прекрасно играла с Visual Studio UI (2008 - моя версия). Я нашел проект MSBuild.Community.Tasks, который был великолепен, но потерпел неудачу в части интеграции с Visual Studio. Что я на самом деле хотел получить, так это чтобы тесты с ошибками отображались в виде предупреждений / ошибок в окне списка ошибок VS (а также при сбое сборки проекта, когда тесты не увенчались успехом). Поэтому я написал свою собственную задачу MSBuild, которая выполняет работу именно так, как я хотел.

НО.

Единственная проблема, с которой я сталкиваюсь, заключается в том, что обычное поведение списка ошибок VS UI состоит в том, что при нажатии на ошибку он переходит на соответствующий исходный файл и выделяет проблемный код. Мне удалось связать номер файла и строки с неудачным тестом, однако я не смог никоим образом убедить Visual Studio в том, что я выделил проблемный код для HIGHLIGHT (когда я дважды щелкнул по ошибке). Все, что я получаю, это курсор в нужном месте. Я перепробовал все виды комбинаций line, endLine, column, endColumn параметров метода (Log.LogError()), но безрезультатно. И, основываясь на выводе ошибок ошибками компилятора, похоже, что он также предоставляет только строку и столбец (без конечных значений).

Кто-нибудь сталкивался с этой странностью и разрешал ее?

Обновление от 13 мая 2009 г.
Вы можете получить этот проект бесплатно (без выбора метода) на
http://code.google.com/p/nunitmsbuildvsintegrated/

Ответы [ 2 ]

1 голос
/ 18 мая 2009

Для этой функции необходимо создать интегрированный пакет Visual Studio, отображающий пользовательскую панель в Visual Studio. Эта пользовательская панель будет вызываться при сборке вашего проекта.

Центр разработки расширений Visual Studio

0 голосов
/ 13 мая 2009

У меня нет решения вашей точной проблемы, но есть мысли.

Вы уверены, что хотите запустить полный набор модульных тестов в конце каждой сборки? Я лично считаю, что это убийца производительности. Скорее, работая с кодом, я обычно запускаю тесты небольшого подмножества, которые охватывают только рассматриваемый код, и именно здесь в игру вступают такие инструменты, как ReSharper или TestDriven.NET .

ReSharper Unit Test Sessions
(источник: jetbrains.com )

...