Запуск тестов WatiN с ошибкой Nunit? - PullRequest
1 голос
/ 06 октября 2009

Когда я пытаюсь запустить тест WatIn через NUnit ide, я получаю сообщение об ошибке:

ConsoleApplication1.Tests.CanBrowseToMicrosoft: System.Threading.ThreadStateException: для CurrentThread необходимо, чтобы его ApartmentState был установлен в ApartmentState.STA для автоматизации Internet Explorer.

Я создал файл конфигурации приложения с именем ConsoleApplication1.exe.config, который находится ниже:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    <sectionGroup name="NUnit">
    <section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
    </sectionGroup>
</configSections>

<NUnit>
    <TestRunner>
    <add key="ApartmentState" value="STA" />
    </TestRunner>
</NUnit>
</configuration>

Мой класс Tests.cs ниже:

[TestFixture]
public class Tests
{
    [Test]
    public void CanBrowseToMicrosoft()
    {
        using (var browser = new IE())
        {
            browser.GoTo("http://www.microsoft.com/");
            Assert.That("Microsoft Corporation", Is.EqualTo(browser.Title));
        }
    }
}

Я что-то не так делаю?

Другой вопрос, который у меня возник, состоял в том, как заставить результаты теста NUnit отображаться в vs2008 ide вместо необходимости запускать NUnit Gui?

Ответы [ 2 ]

1 голос
/ 28 апреля 2011

Существует более чистый способ для решения вашей проблемы с требованием STAThread, но он требует NUnit 2.5.

Кроме того, вы пробовали TestDriven.Net для запуска модульных тестов из Visual Studio?

1 голос
/ 06 октября 2009

Я понял это, потому что я загружал проект NUnit под названием Tests.nunit, мне нужно вызвать файл конфигурации приложения Tests.config. После этого изменения все работало нормально.

...