Как запустить консольные приложения перед запуском NUnit Test в одном решении VS? - PullRequest
4 голосов
/ 04 августа 2011

В VS2010 вы можете указать несколько запускаемых проектов (щелкните правой кнопкой мыши Решение и выберите соответствующие параметры в области «Запуск проекта»).

Это прекрасно работает, если вы нажмете F5, но для тестов NUnit я еще не нашел способ запустить эти проекты перед запуском тестов. Есть ли способ?

Ограничения:

  1. Я не хочу запускать консольные приложения из DOS, так как мне нужна поддержка отладки.

  2. Я не хочу, чтобы было открыто отдельное решение. Я рассуждаю здесь просто о том, что между решениями немного больше трения и что правильные решения должны быть внесены. VS2010 хорошо выполняет проверку, когда файлы изменились, но будет проще иметь один интегрированный интерфейс отладки, который работает так же, как при нажатии F5.

В настоящее время я использую NUnit с Resharper 6.

Надеюсь, где-то есть вариант, который мне не хватает.

Спасибо, что взглянули на это.


UPDATE:

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

Было бы неплохо иметь возможность получить отчет об успехе / неудаче, даже если он запускается вне тестового центра. Вернулись ли вы к этому вручную?

РЕШЕНИЕ

Педро разместил эти ссылки в комментариях к сообщениям о решении:

Для этих файлов в * C: \ Program Files (x86) \ NUnit 2.5.10 \ bin \ net-2.0 *:

  • nunit.exe.config

  • nunit-x86.exe.config (ВАЖНО ДЛЯ МЕНЯ)

Я сделал эти изменения настроек:

Под добавить:

    <startup>
      <supportedRuntime version="v4.0.30319" />
    </startup>

и до добавить:

    <loadFromRemoteSources enabled="true" />

Ответы [ 3 ]

2 голосов
/ 04 августа 2011

В другом вопросе я опубликовал решение для запуска NUnit GUI, просто нажав F5. Если затем вы настроите запуск модульных тестов и проектов консольных приложений, вы получите желаемый результат.

1 голос
/ 04 августа 2011

Поскольку вы используете Resharper в качестве тестового прогона, мне любопытно, пробовали ли вы что-то подобное. Задайте проекты запуска вашего решения для консольного приложения, которое вы хотите, и нажмите F5. Затем щелкните правой кнопкой мыши по тестовому проекту / файлу, который вы хотите запустить, и выберите «Выполнить модульные тесты».

Похоже, что Resharper скрывает опцию «Debug Unit Tests», пока решение находится в рабочем состоянии, но если вы хотите отладить консольное приложение, эта может работать для вас (полностью непроверенная теория на данный момент). Я предполагаю, что вам не повезет отлаживать тестовую сторону, хотя и с использованием этого метода.

И, конечно же, это связано с тестовой программой Resharper, если вы хотите сделать это в системе непрерывной интеграции или через графический интерфейс / консоль NUnit, этот метод даже близко не поможет вам.

1 голос
/ 04 августа 2011

Согласно этой странице , NUnit имеет атрибут [TestFixtureSetUp], который запускается один раз перед выполнением любых других модульных тестов. Хотя я сам не использовал NUnit, я думаю, что вы должны иметь возможность запускать все необходимые предварительные программы в методе, помеченном этим атрибутом. Поскольку код выполняется так же, как и любой другой, я думаю, что он может быть отлажен так же, как и любой другой блок кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...