Как отлаживать в Visual Studio с помощью NSpec
Как отлаживать в визуальной студии с NSpec? Я установил резарпер, мне нужно войти в свой тестовый код.
4 ответа
По крайней мере, в Visual Studio 2013 тестовый адаптер NSpec (от {o} Software), похоже, справился. Найдите его в галерее расширений. Затем просто щелкните правой кнопкой мыши на тесте в Test Explorer и нажмите Debug.
Еще один хороший вариант - просто набрать
System.Diagnostics.Debugger.Launch()
в тесте вы хотите отладить. Вы получите приглашение Visual Studio для отладки теста.
Я также рекомендовал бы взглянуть на specwatchr.
Я использую простой трюк, который позволяет мне отлаживать NSpec с помощью resharper из коробки. Идея состоит в том, чтобы иметь собственную версию класса "nspec" вместо DebuggerShim.cs (где-нибудь в вашем тестовом проекте):
[TestFixture]
public abstract class nspec: global::NSpec.nspec
{
[Test]
public void debug()
{
var currentSpec = this.GetType();
var finder = new SpecFinder(new[] {currentSpec});
var builder = new ContextBuilder(finder, new Tags().Parse(currentSpec.Name), new DefaultConventions());
var runner = new ContextRunner(builder, new ConsoleFormatter(), false);
var results = runner.Run(builder.Contexts().Build());
//assert that there aren't any failures
results.Failures().Count().should_be(0);
}
}
После этого вы получите значок теста Решарпера рядом с вашей спецификацией:
Для более подробной информации смотрите эту статью: Отладка NSpec с VisualStudio/Resharper - простой трюк
Resharper поддерживает только бегуны NUnit и MSTest (AFAIR). Откройте окно Resharper "Unit Test Explorer" и посмотрите, нет ли там списка ваших тестов NSpec.
Если нет, вам нужно вернуться к указанию внешней программы для отладки (exe-файл запуска NSpec) - см. Этот вопрос о том, как настроить это в Visual Studio.