Объявите символ препроцессора (например, DEBUG) глобально для всего проекта - PullRequest
6 голосов
/ 28 марта 2009

Я бы хотел переключиться между тестами NUnit и VS следующим образом:

#if !NUNIT
using Microsoft.VisualStudio.TestTools.UnitTesting;
#else
  using NUnit.Framework;
  using TestClass = NUnit.Framework.TestFixtureAttribute;
  using TestMethod = NUnit.Framework.TestAttribute;
  using TestInitialize = NUnit.Framework.SetUpAttribute;
  using TestCleanup = NUnit.Framework.TearDownAttribute;
  using TestContext = System.String;
  using DeploymentItem = NUnit.Framework.DescriptionAttribute;
#endif

У меня вопрос, как я могу объявить символ препроцессора NUNIT в одном месте (App.config или около того, было бы здорово), чтобы легко переключаться между NUnit и VSTests? Потому что когда я использую #define NUNIT, он работает только для файла, в котором он написан.

Ответы [ 2 ]

10 голосов
/ 28 марта 2009

Использовать диалог свойств проекта. Вы можете определить глобальные символы там:

Щелкните правой кнопкой мыши по проекту -> Свойства -> вкладка "Сборка" -> Условные символы компиляции

8 голосов
/ 28 марта 2009

Единственный способ сделать это для каждого проекта - через сам проект / сборку (свойства проекта -> сборка -> условные символы компиляции). Вы можете определить несколько «конфигураций» для проекта (с разными символами) и использовать ту, которая вам нужна.

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

...