Я пытаюсь сделать плохую интеграцию человека с xUnit. Сеть из Visual Studio как событие сборки сообщения.
То, что я хочу, - когда я нажимаю Shift+F6 (Build тестовый проект) после успешной сборки, это должно выполнить xUnit.Console.exe и произвести результат в файле HTML и позже запустить файл HTML в браузере.
Ниже то, что я получил до сих пор, и это работает, но не к моей симпатии (в котором браузер появится как модальное диалоговое окно вида, и я не могу переключиться назад и передать / переключатель (использующий Alt-Tab) между Visual Studio и браузером. Прямо сейчас я должен закрыть браузер для VS для получения фокуса снова, который отчасти сосет.
Событие My Post Build ниже:
"$(SolutionDir)\Components\xUnit.net\xunit.console.exe" "$(TargetPath)" /html "$(TargetDir)result.htm"
"$(TargetDir)result.htm"
Какая-либо идея о том, как получить его так result.htm, отображена в браузере а не в модальном режиме?
После дальнейшего теста кажется, что любая оболочка / выполняемая команда работала в модальном режиме. Например, я попробовал простой cmd.exe для появления Командного процессора.
Я пытался использовать, запускают C:\Windows\IE7\iexplore.exe "$ (TargetDir)result.htm", но это не работало также...
Это может быть немного обходным путем, но использование Windows Power-Shell для запуска процесса, похоже, работает. Я установил для события post build примерно следующее:
powershell start-process <actual-command-line-to-run>
В этом случае Visual Studio немедленно восстанавливает управление, не дожидаясь завершения запущенного процесса.