Ошибка с specflow в Visual Studio 2012 с ‹unitTestProvider›

Я использую селен, Specflow и nUnit для запуска автоматических тестов с помощью Visual Studio. Код работал с Visual Studio 2010. После того, как я снова установил Visual Studio 2012, selenium и Specflow (я думаю, что сделал это правильно), он перестал работать. Во-первых, шаги не распознали свои определения, и я думаю, что исправлю это, написав [Binding] во всех файлах C #, содержащих их определения. Теперь, когда я пытаюсь собрать проект, он показывает ошибку, которую я не могу исправить для всех файлов функций.

Он показывает 50 ошибок (такое же количество файлов функций Specflow, которые у меня есть), все они одинаковы, и он говорит следующее:

Error: Generation error: SpecFlow configuration error -> The element <unitTestProvider> may only appear once in this section.

Я не знаю, как это исправить. Я надеюсь, что кто-нибудь сможет мне помочь, я очень переживаю из-за этого.


person JoleG    schedule 15.02.2013    source источник
comment
Какую версию SpecFlow, Selenium и NUnit вы используете?   -  person Arran    schedule 15.02.2013
comment
Nunit - это 2.6.2, specflow 1.9.0, selenium webdriver 2.29.1   -  person JoleG    schedule 15.02.2013
comment
В VS2010 все еще работает?   -  person AlSki    schedule 15.02.2013
comment
Нет, это больше не работает в VS2010, потому что VS2010 несовместим с VS2012.   -  person JoleG    schedule 15.02.2013
comment
На самом деле vs2010 sp1 может работать в обоих направлениях с vs2012. blogs.msdn.com/b/zainnab/archive/2012/06/05/ Итак, какую ошибку вы видите?   -  person AlSki    schedule 27.02.2013


Ответы (2)


Оставьте только один атрибут как unitTestProvider name="SpecRun" или unitTestProvider name="NUnit" в app.config

Эта ошибка вызвана двумя 'unitTestProviders' в app.config.

person dspatil    schedule 18.03.2013
comment
Спасибо, это становится более очевидным при форматировании App.config. - person Tristan Warner-Smith; 13.11.2013
comment
Было бы хорошо, если бы сообщение об ошибке действительно говорило, к какому файлу относится. - person Steve Smith; 10.10.2017

После установки пакета SpecRun.SpecFlow -Version 1.2.0,

У меня есть 2 записи unitTestProvider name = "SpecRun" и unitTestProvider name = "NUnit" в app.config, которые вызывают ошибку.

Его нужно вручную поменять на комбинированный

 <unitTestProvider name="SpecRun+NUnit" />
person Michael Freidgeim    schedule 10.11.2015