无法在单元测试中设置WinForms剪贴板

时间:2011-06-10 12:15:28

标签: c# winforms nunit clipboard sta

我想使用NUnit测试中的文本填充Forms.Clipboard。

我遇到的第一个问题是剪贴板必须在STA模式下使用。我发现the solution(NUnit 2.5.x +)在方法上设置了RequiresSTA属性。

接下来,我在调用Clipboard.SetText()时得到一个ExternalException。我发现the solution使用了Clipboard.SetDataObject(object,bool,int,int),你可以指定retryTimes来多次尝试设置剪贴板。这个hacky解决方案有时候,这显然不够好(增加retryTimes参数当然也会增加成功的机会)。

其他人(例如Peter)已经成功了,所以也许它与我的环境有关:我在Windows 7 64位下运行VS2010,目标是.NET 3.5和x86。 NUnit版本是2.5.9。

我被困住了。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

回答我自己的问题:

正如Hans Passant在评论中所建议的那样,问题在于另一个过程正在干扰。邪恶的过程似乎是谷歌Chrome。