2011-12-28 4 views
2

Я пишу проект, используя Win7 x64. Некоторая часть моих тестов требует использования SQLServer CE, который представляет только поддержку для x86. Я использую Visual Studio 2010 Express, и мне нужно изменить целевую платформу для моих проектов, вручную редактируя * .cproj-файлы для запуска, например, schema export test (NHibernate). Howcome Я выполняю часть своих тестов в зависимости от целевой платформы.Выполнение теста NUnit в зависимости от состояния

Спасибо!

ответ

2

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

Например, создайте конфигурацию «Debug x86», ориентированную на x86. Затем определите условный символ компиляции DEBUG_X86 (в свойствах проекта). Наконец, окружить модульное тестирование с директивами препроцессора:

#if DEBUG_X86 
[Test] 
public void Test() 
{ 
    // This test will only run when compiled with Debug x86 
} 
#endif 

Edit: На самом деле, вы даже не должны создать новую конфигурацию решения, как можно определить условные символы в зависимости от платформы (https://stackoverflow.com/a/1313450/869621). Итак, определите символ компиляции WIN32 и внесите свой тест:

#if WIN32 
[Test] 
public void Test() 
{ 
    // This test will only run when compiled for x86 
} 
#endif 
Смежные вопросы