Как запустить тесты SpecFlow в Visual Studio 2010?

Попытка получить SpecFlow, работающий с новой Профессиональной установкой VS2010. Созданный новое консольное приложение и добавленные ссылки на NUnit и SpecFlow. Созданный функция SpecFlow. .feature с кодом шаблона по умолчанию создается.

Теперь я пытаюсь запустить этот тест, но я не понимаю как. Когда я щелкаю правой кнопкой по проекту (на верхнем уровне), в выпадающем меню мыши нет никакой опции "Run test". Разве SpecFlow не устанавливал правильно, я пропускаю некоторые ссылки или некоторый другой инструмент, который я должен установить?

40
задан Raedwald 1 March 2019 в 14:09
поделиться

3 ответа

Тесты Specflow запускаются с использованием NUnit (GUI), который необходимо вызывать извне, или в качестве альтернативы можно установить TestDriven.net или Resharper для поддержки выполнения тестов изнутри Visual Studio.

3
ответ дан 27 November 2019 в 01:13
поделиться

SpecFlow не предоставляет сам бегун.
SpecFlow генерирует фикстуры для одной из распространенных платформ модульного тестирования. В SpecFlow 1.3 поддерживаются NUnit (по умолчанию), MSTest и xUnit.net (настраивается в App.config).

Чтобы запустить приборы, вы должны использовать бегун, который может их запускать. ReSharper - очень хороший вариант для средства запуска тестов, интегрированного в VisualStudio, но не бесплатного. ReSharper предоставляет вам контекстное меню «Выполнить модульные тесты» в обозревателе решений, о котором вы говорите.

Альтернативой интеграции VisualStudio является TestDriven.Net (также с контекстным меню).

Для NUnit вы также можете использовать бегуны, которые поставляются с самим NUnit (есть бегун с графическим интерфейсом пользователя и бегун командной строки).
Для MSTest вы можете использовать встроенную интеграцию VisualStudio для запуска тестов (однако я считаю, что это немного неуклюже).
xUnit.net также поставляется со своими бегунами, но я с ними не знаком.

Кроме того, вы можете использовать задачи MSBuild для запуска фикстур ...

10
ответ дан 27 November 2019 в 01:13
поделиться

Если вы хотите иметь возможность запускать свои тесты непосредственно из Visual Studio 2010 без каких-либо дополнительных инструментов или расширений, вам следует настроить SpecFlow на использование MsTest в качестве фреймворка для модульного тестирования.

Это можно сделать в конфигурационном файле приложения следующим образом:

  <configSections> 
    <section 
       name="specFlow" 
       type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/> 
  </configSections> 
  <specFlow> 
    <unitTestProvider name="MsTest" /> 
    <!--
        Use this if you're running VS2010
        <unitTestProvider name="MsTest.2010" />
    -->
  </specFlow> 

Сгенерированный файл code-behind будет содержать MsTest тесты, которые распознаются Visual Studio и могут быть запущены с помощью программы запуска тестов build-it.

Нет необходимости использовать NUnit вообще.

81
ответ дан 27 November 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: