对 Swing 组件进行单元测试
2022-09-03 12:19:01
我正在编写一个类似 TotalCommander 的应用程序。我有一个单独的文件列表组件,以及它的模型。模型支持侦听器,并按以下方式为事件等发出通知:CurrentDirChanged
private void fireCurrentDirectoryChanged(final IFile dir) { if (SwingUtilities.isEventDispatchThread()) for (FileTableEventsListener listener : tableListeners) listener.currentDirectoryChanged(dir); else { SwingUtilities.invokeLater(new Runnable() { public void run() { for (FileTableEventsListener listener : tableListeners) listener.currentDirectoryChanged(dir); } }); } }
我为此写了一个简单的测试:
@Test public void testEvents() throws IOException { IFile testDir = mockDirectoryStructure(); final FileSystemEventsListener listener = context.mock(FileSystemEventsListener.class); context.checking(new Expectations() {{ oneOf(listener).currentDirectoryChanged(with(any(IFile.class))); }}); FileTableModel model = new FileTableModel(testDir); model.switchToInnerDirectory(1); }
这不起作用,因为没有 .有没有办法在无头构建中对此进行单元测试?EventDispatchThread
单元测试 java swing jmock