Попытка получить SpecFlow, работающий с новой Профессиональной установкой VS2010. Созданный новое консольное приложение и добавленные ссылки на NUnit и SpecFlow. Созданный функция SpecFlow. .feature с кодом шаблона по умолчанию создается.
Теперь я пытаюсь запустить этот тест, но я не понимаю как. Когда я щелкаю правой кнопкой по проекту (на верхнем уровне), в выпадающем меню мыши нет никакой опции "Run test". Разве SpecFlow не устанавливал правильно, я пропускаю некоторые ссылки или некоторый другой инструмент, который я должен установить?
Тесты Specflow запускаются с использованием NUnit (GUI), который необходимо вызывать извне, или в качестве альтернативы можно установить TestDriven.net или Resharper для поддержки выполнения тестов изнутри Visual Studio.
SpecFlow не предоставляет сам бегун.
SpecFlow генерирует фикстуры для одной из распространенных платформ модульного тестирования. В SpecFlow 1.3 поддерживаются NUnit (по умолчанию), MSTest и xUnit.net (настраивается в App.config).
Чтобы запустить приборы, вы должны использовать бегун, который может их запускать. ReSharper - очень хороший вариант для средства запуска тестов, интегрированного в VisualStudio, но не бесплатного. ReSharper предоставляет вам контекстное меню «Выполнить модульные тесты» в обозревателе решений, о котором вы говорите.
Альтернативой интеграции VisualStudio является TestDriven.Net (также с контекстным меню).
Для NUnit вы также можете использовать бегуны, которые поставляются с самим NUnit (есть бегун с графическим интерфейсом пользователя и бегун командной строки).
Для MSTest вы можете использовать встроенную интеграцию VisualStudio для запуска тестов (однако я считаю, что это немного неуклюже).
xUnit.net также поставляется со своими бегунами, но я с ними не знаком.
Кроме того, вы можете использовать задачи MSBuild для запуска фикстур ...
Если вы хотите иметь возможность запускать свои тесты непосредственно из 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 вообще.