我怀疑是否有解决方案,但我想我还是会问。
java.awt.Robot
对于单元测试,模拟用户输入/操作非常有用。问题是你不能在测试期间对你的comp进行任何其他操作,因为机器人按键等将在当时具有焦点的应用程序中开始发生,而不是在你的应用程序中接受测试......
即使你在每个这样的机器人命令之前都有requestFocus
或某些这样的问题,这也不是解决方案,原因很简单,因为这些命令必须在EDT中运行,而机器人的命令必须是在非EDT线程中运行,您可能会发生sthg(键盘或鼠标操作),这会将焦点转移到测试应用程序之外。
因此,我认为知道它的机器人必须只与测试应用程序进行交互才是必不可少的。没有它,你会在测试期间“丢失”你的机器。
在VM中运行测试可能是一个解决方案 - 有没有人知道其他任何解决方案?