我想从一个 NUnit 测试中将文本填充到 Forms.Clipboard 中。
我遇到的第一个问题是,必须在 STA 模式下使用 Clipboard。我找到了 解决方案(NUnit 2.5.x+),可以在方法上设置 RequiresSTA 属性。
接下来,当调用 Clipboard.SetText() 时,我会遇到 ExternalException。我找到了 解决方案,可以使用 Clipboard.SetDataObject(object, bool, int, int) 方法,在其中可以指定 retryTimes 来尝试几次设置剪贴板。这个 hacky 的解决方案有时候有效,但显然不够好(增加 retryTimes 参数当然也会增加成功的机会)。
其他人(例如 Peter)已经成功地做到了这一点,所以也许与我的环境有关:我在 Windows 7 64 位操作系统下运行 VS2010,目标为 .NET 3.5 和 x86。NUnit 版本为 2.5.9。
我被卡住了。任何帮助都将不胜感激。
我遇到的第一个问题是,必须在 STA 模式下使用 Clipboard。我找到了 解决方案(NUnit 2.5.x+),可以在方法上设置 RequiresSTA 属性。
接下来,当调用 Clipboard.SetText() 时,我会遇到 ExternalException。我找到了 解决方案,可以使用 Clipboard.SetDataObject(object, bool, int, int) 方法,在其中可以指定 retryTimes 来尝试几次设置剪贴板。这个 hacky 的解决方案有时候有效,但显然不够好(增加 retryTimes 参数当然也会增加成功的机会)。
其他人(例如 Peter)已经成功地做到了这一点,所以也许与我的环境有关:我在 Windows 7 64 位操作系统下运行 VS2010,目标为 .NET 3.5 和 x86。NUnit 版本为 2.5.9。
我被卡住了。任何帮助都将不胜感激。