Ошибки NUnit, WatiN SpecFlow и STA Thread - PullRequest
5 голосов
/ 09 марта 2011

Я получаю следующее исключение при попытке запустить тест SpecFlow:

Для CurrentThread необходимо установить для ApartmentState значение ApartmentState.STA, чтобы иметь возможность автоматизировать Internet Explorer.Я уже добавил следующий код в App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="NUnit">
      <section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
    </sectionGroup>
  </configSections>
  <NUnit>
    <TestRunner>
      <!-- Valid values are STA,MTA. Others ignored. -->
      <add key="ApartmentState" value="STA" />
    </TestRunner>
  </NUnit>
</configuration>

Я использую VS 2010 и заставляю мое приложение работать как версия 3.5.

Я также использую графический интерфейс инструмента nUnit!

Ответы [ 2 ]

12 голосов
/ 14 марта 2011

Если вы установили nunit 2.5+, используйте новый атрибут Требуется STA в классе

TestFixture, требует STA]

или уровень сборки. (на Assemblyinfo.cs)

с использованием NUnit.Framework;

...

[сборка: RequiresSTA]

Нет необходимости в конфигурационном файле. Проверьте эту ссылку для получения дополнительной информации: http://www.nunit.org/index.php?p=requiresSTA&r=2.5

3 голосов
/ 09 марта 2011

Следующий код

отсутствует.

В любом случае, когда я использовал WatiN + Nunit + MSVS, у меня была такая конфигурация в моем проекте тестирования:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="NUnit">
      <section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
    </sectionGroup>
  </configSections>
  <NUnit>
    <TestRunner>
      <!-- Valid values are STA,MTA. Others ignored. -->
      <add key="ApartmentState" value="STA" />
    </TestRunner>
  </NUnit>
</configuration>
...