2010-12-12 54 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