Сбой метода SetUp при выполнении тестов из teamcity - PullRequest
2 голосов
/ 03 декабря 2010

Я успешно запускаю тесты локально через nunit. Но когда я пытаюсь запустить их через teamcity, некоторые тесты проходят, но некоторые не проходят, выдавая следующую ошибку.

Ошибка метода SetUp. System.Runtime.InteropServices.COMException: Создание экземпляра COM-компонента с CLSID {0002DF01-0000-0000-C000-000000000046} из IClassFactory не удалось из-за следующей ошибки: 800704a6. в WatiN.Core.IE.CreateNewIEAndGoToUri (Uri uri, LogonDialogHandler, logonDialogHandler, Boolean createInNewProcess) в WatiN.Core.IE..ctor () at test.Setup () в C: \ Tests.vb: строка 14

Ответы [ 2 ]

2 голосов
/ 20 мая 2011

Не уверен, была ли это решена или нет, но у меня была одна и та же ошибка в 2 разных тестовых приборах, 1 написан на C #, другой написан на VB.NET.Чтобы решить эту проблему, я создаю новый экземпляр WatIn.IE, добавляя второй параметр в: IE var ie = new IE (url, true ).msgstr "который открывает следующий IE в новом процессе.

Это, однако, не сработало для тестового устройства, написанного на VB.NET по какой-то причине.Для этого прибора мне пришлось вызывать метод в одной из наших библиотек C #, чтобы принудительно закрывать IE в каждом методе TearDown тестов.Следующий код C # сделал свое дело:

public static void CloseInternetExplorers()
{
  var processes = from process in Process.GetProcesses()
                  where process.ProcessName == "iexplore"
                  select process;

  foreach (var process in processes)
  {
    while (!process.HasExited)
    {
      process.Kill();
      process.WaitForExit();
    }
  }
}
0 голосов
/ 08 декабря 2010

Вы пытались запустить тесты через Nunit на сервере teamcity? Это может дать вам больше информации.

...