задача nunit2, NAnt, Watin - ошибка STA в ApartmentState - PullRequest
0 голосов
/ 12 января 2012

Я изучаю инфраструктуру автоматизации WatIN, управляемую NUnit и Nant.Я установил Apartmentstate в App.config

<NUnit>
    <TestRunner>
      <!-- WatiN can only host IE in STA mode -->
      <add key="ApartmentState" value="STA"/>
    </TestRunner>
</NUnit>

Я также установил [TestFixture, Требуется STA] в тестовом классе.Это прекрасно работает, когда я использую nunit-console testrunner или Nunit GUI runner.

Использование Nunit2 runner в NAnt выдает это исключение

[nunit2]: [DEBUG] CurrentThread должен иметь свой ApartmentStateустановите значение ApartmentState.STA, чтобы можно было автоматизировать Internet Explorer

Как обойти эту проблему?

Спасибо, Jenga

1 Ответ

0 голосов
/ 12 января 2012

У меня была похожая проблема.Я смог это исправить, добавив аргумент / nothread при вызове nunit-console.exe из моей цели nant.

Пример:

<exec verbose="true" 
    workingdir="${project::get-base-directory()}\build"
    program="tools\nunit\nunit-console.exe" basedir="${project::get-base-directory()}">

    <arg value="${ua-testproject.name}" />
    <arg value="/nothread" />
    <arg value="/xml:${ua-tests.report}" />
</exec>
...