2009-10-06 3 views
1

Когда я пытаюсь запустить тест корыта WatiN на язь NUnit, я получаю сообщение об ошибке:Выполнение тестов WatiN с ошибкой Nunit?

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?

ответ

1

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

1

Для решения проблемы с требованиями STAThread существует cleaner way, но для этого требуется NUnit 2.5.

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

Смежные вопросы