Настройка Test Runner Tool через конфигурацию с SpecFlow - PullRequest
1 голос
/ 14 марта 2012

В проекте, использующем SpecFlow с такой конфигурацией:

<unitTestProvider name="MsTest.2010" />

Тесты работают нормально, если используются только стандартные настройки Visual Studio.

После установки ReSharper перестают работать команды контекстного меню «Сценарии запуска SpecFlow» и «Сценарии отладки SpecFlow»; при выборе ничего не происходит.

Похоже, это связано с тем, что ReSharper устанавливает собственный тестовый прогон по умолчанию. Обходной путь - открыть диалоговое окно параметров (Инструменты | Параметры | SpecFlow | По умолчанию) и в разделе «Выполнение теста» явно установить «Средство выполнения теста» на «MsTest».

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

Вопрос в том, можно ли установить параметр «Средство выполнения теста» в файле конфигурации, чтобы он оставался в проекте, а не в пользовательских настройках? Это то, для чего предназначено свойство runtimeProvider параметра unitTestProvider?

1 Ответ

2 голосов
/ 24 августа 2013

Я знаю, что вы спрашивали о VS2010, но, учитывая возраст вашего вопроса, я решил попробовать его на VS2012. Мне удалось заставить SpecFlow работать с MSTest, не меняя настройки Tools \ Options \ SpecFlow \ Test Runner Tool (т.е. оставляя его на «Авто»):

  1. Установите расширение SpecFlow для Visual Studio 2012
    • Выберите Инструменты \ Расширения и обновления
    • Поиск "Specflow"
    • Установить расширение
    • Перезапустить Visual Studio 2012 (пункты меню SpecFlow могут не отображаться, пока вы не сделаете это)
  2. Создать новый проект библиотеки классов (например, MyProject.spec)
  3. Добавить пакет Specflow через nuget
    • Щелкните правой кнопкой мыши узел ссылок проекта
    • Выберите Управление пакетами NuGet
    • Поиск "Specflow"
    • Выберите «Установить»
  4. Настройка SpecFlow
    • Откройте файл app.config
    • Добавить следующую запись:
    • Щелкните правой кнопкой мыши узел ссылок проекта
    • Добавьте следующую запись внутри узла :
  5. Создать новую функцию
    • Щелкните правой кнопкой мыши узел проекта
    • Выберите Добавить \ Новый элемент \ Файл функций SpecFlow
  6. Добавление сборки юнит-теста в проект
    • Щелкните правой кнопкой мыши узел ссылок проекта
    • Выберите «Добавить ссылку»
    • Поиск сборок для "Microsoft.VisualStudio.QualityTools.UnitTestFramework"
    • Добавить сборку
  7. Создать определения шагов
    • Дважды щелкните файл функций, чтобы открыть его
    • Щелкните правой кнопкой мыши пустое пространство внизу файла функций
    • Выберите «Создать определения шагов»
  8. Запустить тесты
    • Выберите Test Explorer \ Run All

В этот момент тесты должны работать нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...