2011-01-14 2 views
0

Есть ли проблема с доступом к буферу Windows из теста NUnit?Доступ к буферам обмена из NUnit-теста

У меня есть приложение VB.NET, которое вызывает System.Windows.Forms.Clipboard.GetText -it работает нормально в моем обычном exe, однако при работе с консолью NUnit (x86) нет возвращаемого значения.

В самой тестовой сборке есть RequiresSTA().

Я использую NUnit 2.5.9.

ответ

0

Это консольное приложение работает как служба Windows (например, под сервером CI)? Если это так, this thread предполагает, что даже если вы используете STA, службе, скорее всего, отказано в доступе к рабочему столу, что необходимо для доступа к буферу.

Два из ваших вариантов - включить доступ к рабочему столу для службы или выровнять буфер обмена как-то для ваших тестов.

+0

Да, вы правы, работает Nunit из командной строки! Он только терпит неудачу, если он запущен из службы hudson, но служба работает под тем же пользователем ... –

+0

@Tobias: Еще один вариант - применить, например. атрибут ['Явный'] (http://nunit.org/index.php?p=explicit&r=2.5.9), чтобы он не запускался с помощью Hudson, но вы все равно можете запустить его вручную. Но в этот момент я действительно начал склоняться к издевательствам в буфере обмена. –

+0

Ну, я бы попытался издеваться над этим ... –