Как настроить Visual Studio для запуска тестов xUnit.net? - PullRequest
11 голосов
/ 08 января 2011

Я настроил Visual Studio 2010 для отладки xUnit.net тестов, установив Параметры проекта | Отладка | Запустите внешнюю программу для запуска программы запуска консоли xUnit.net.

Это работает нормально, но только при указании полного пути к dll тестового проекта через Аргументы командной строки например: "c: \ development \ TestProject.dll"

Я пытался использовать $ (BinDir) $ (TargetName) $ (TargetExt) в качестве параметров в разделе Аргументы командной строки , но он не работает. Любое предложение о том, как я могу избежать явного / полного пути?

Ответы [ 4 ]

6 голосов
/ 12 августа 2012

Это то, что я использую в своем файле .csproj для запуска обработчика графического интерфейса пользователя xUnit в качестве начального действия:

<PropertyGroup>
  <StartAction>Program</StartAction>
  <StartProgram>$(MSBuildProjectDirectory)\..\..\Packages\xunit.runners.1.9.1\tools\xunit.gui.clr4.exe</StartProgram>
  <StartArguments>"$(MSBuildProjectDirectory)\$(OutPutPath)$(AssemblyName).dll"</StartArguments>
</PropertyGroup>

Чтобы это работало, все, что вам нужно сделать, это установить xUnit.net Runners NuGet пакет:

PM> Install-Package xunit.runners

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

6 голосов
/ 08 сентября 2011

Этот ответ был дан перед удивительной работой Джеймса и Брэда с xUnit.net Runners .См. Ответ michielvoo ниже.

Чтобы избежать проблемы явного указания имени библиотеки, можно использовать cmd.exe с аргументами командной строки: / C xunit.console.exe $ (BinDir) $ (TargetName) $ (TargetExt)

Проверка Использование окна вывода

Использование конфигурации Инструменты | Параметры | Клавиатура назначить горячую клавишу.

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

Альтернативный маршрут - использовать плагин VS в качестве testrunner.Например, ReSharper.

0 голосов
/ 21 января 2011

Я просто набираю полное название сборки, вот и все.

Под аргументами командной строки: SharedDataBridge.Tests.dll

...