Подтвердить что ты не робот

Невозможно запустить сценарий SpecFlow из Visual Studio 2012 Ultimate Edition

Я установил Visual Studio 2012 Ultimate Edition и настроил SpecFlow. Я использовал следующую конфигурацию для запуска тестов в файле config.xml:

<specFlow>
<unitTestProvider name="MsTest" /> 
</specFlow>

Я смог создать семплы и скомпилировать их правильно. Но когда я попытался запустить сценарии из контекстного меню с опцией "Запустить сценарии сценариев" или "Сценарии Debug SpecFlow", я не вижу никаких действий. Он просто говорит: "Сформировать успех", и больше ничего не происходит позже.

Может ли кто-нибудь объяснить, есть ли другой способ выполнения сценариев?

Спасибо заранее.

4b9b3361

Ответ 1

У меня уже был весь этот набор настроек, но я все еще не смог запустить сценарии из контекстного меню.

Пока я не рассмотрел параметры SpecFlow ( "Инструменты" > "Параметры" > "SpecFlow" ) и установите " VisualStudio2012" как Инструмент тестирования тестового запуска (в разделе "Тестирование" ).

По какой-то причине он был установлен в "VisualStudio2010MsTest", а затем сценарии не запускались из контекстного меню.

Ответ 2

Ваш файл app.config должен быть:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" />
  </configSections>
  <specFlow>
    <unitTestProvider name="MsTest" />
  </specFlow>
</configuration>

Вот ссылка в вики SpecFlow.

Затем заново создайте свое решение, и вы сможете увидеть и запустить тесты. Вы можете видеть и запускать тесты из Test/Windows/Test Explorer.

Также убедитесь, что у вас есть ссылка на: Microsoft.VisualStudio.QualityTools.UnitTestFramework из вашего тестового проекта. Вот шаги:

  • Создайте новый проект: В моем случае MVC 4
  • Добавить "Unit Test Project" в решение
  • Добавить пакет SpecFlow nuget в "Unit Test Project"
  • Добавьте одну случайную функцию/тест SpecFlow 5) Запустите тест, чтобы убедиться он работает

Ответ 3

Я знаю, что это очень старый пост. У меня была такая же проблема в течение последних 4 дней, и, наконец, я решил ее с помощью случайных ссылок StackOverflow. Чтобы сэкономить время для других разработчиков, это может помочь:

  • Изменить версию ReSharper от 10 до 8.2
  • Инструменты > Расширение и обновление > Поиск в Интернете > Адаптер тестирования NUnit > Установка
  • Visual Studio 2013
  • Specflow Последняя версия
  • Установить Unit test провайдер NUnit с помощью командного окна диспетчера пакетов nuget. Инструменты- > Диспетчер пакетов Nuget → Консоль диспетчера пакетов. Запустите это в окне - установите пакет specflow.Nunit
  • Перезапустите Visual Studio.
  • Перейдите в > something.Feature > щелкните правой кнопкой мыши по описанию сценария > запустить unit test ИЛИ запустить сценарий расплывания. Unit test должен появиться сеанс.

Надеюсь, что это поможет другим, имеющим ту же проблему.