Запуск теста NUnit в зависимости от состояния - PullRequest
2 голосов
/ 28 декабря 2011

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

Спасибо!

1 Ответ

2 голосов
/ 28 декабря 2011

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

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

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

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

#if WIN32
[Test]
public void Test()
{
    // This test will only run when compiled for x86
}
#endif
...