Можете ли вы вызывать элемент управления, а не запускать приложение для кодированных тестов пользовательского интерфейса? - PullRequest
0 голосов
/ 08 декабря 2010

У меня есть код такой:

[CodedUITest]
public class CodedUITest1
{

[TestMethod]
public void CodedUITestMethod1( )
{
  using(var dlg = new MyWinForm( ))
  {
    dlg.Show();
    System.Threading.Thread.Sleep(2000);
    this.UIMap.AssertMethod1( );
    this.UIMap.RecordedMethod1( );
    this.UIMap.AssertMethod2( );
   }

  }
}

Код работал нормально, когда я вручную запустил приложение (перед вызовом теста) без предложения using для непосредственного создания элемента управления.

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

Есть ли способ выполнять тестирование с помощью UI без запуска процесса? (используя ссылку и создав элемент управления в тестовом коде) или что-то не так с тем, как я пытаюсь это сделать?

1 Ответ

0 голосов
/ 09 декабря 2010

Это может быть возможно, если вы вызываете кодированные тестовые части пользовательского интерфейса (this.UIMap ...) в отдельном потоке. Но, как у вас сейчас, они оба в одном потоке, так что вы зашли в тупик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...