Как отлаживать в 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.

Другие вопросы по тегам