2010-12-12 53 views
0

我的JUnit测试剪贴板的问题是Java保存了剪贴板数据的副本。如果您将数据复制到同一个Java VM中,或者如果将外部过程中的数据复制到系统剪贴板,则剪贴板的行为完全不同。如何在Java中为剪贴板编写JUnit测试?

是否有任何技巧来清除剪贴板数据的本地副本?这应该工作平台独立。

我唯一的想法是启动第二个将数据复制到剪贴板的Java进程。但是如果每次测试都启动第二个JVM,那么这会有非常糟糕的表现。

回答

1

为什么你觉得需要测试剪贴板?

更好的方法是测试Transferable并假定剪贴板的工作方式与广告相同(或者它已被修复)。

+0

我为IKVM编写测试。 – Horcrux7 2010-12-12 19:58:44

+0

@ Horcrux7 - IKVM是用.Net编写的虚拟机,是否正确?如果是这样的话,那么我希望任何测试都是用C#或其他.Net语言编写的,并且可以访问.Net剪贴板界面。所以我认为你会启动虚拟机,执行任何Java代码更新剪贴板,然后通过.Net代码重置剪贴板。 – Anon 2010-12-13 15:25:46