현재 몇 가지 컨트롤 (예 : TreeViewer)을 인스턴스화하기 위해 현재 디스플레이를 사용하는 몇 가지 JUnit 테스트가 있습니다. 로컬로 잘 작동하는데 문제가 없습니다. 이러한 테스트를 수행하고 젠킨스가 테스트를 실행하면 디스플레이를 사용하는 각 테스트에 대해 실패한 테스트가 표시됩니다.JUnit 실행 - Jenkins에서 SWT-Display를 사용하는 테스트가 실패합니다.
내 단위 테스트는 이러한 방식으로 표시 변수를 사용
@Test
public void testUtils() {
Display display = Display.getCurrent();
Shell shell = new Shell(display, SWT.NONE);
// org.eclipse.swt.widgets.Composite composite = new
// org.eclipse.swt.widgets.Composite(
// shell, SWT.NONE);
TreeViewer viewer = new TreeViewer(shell, SWT.MULTI | SWT.H_SCROLL
| SWT.V_SCROLL);
오류 로그 젠킨스가 생성
Time elapsed: 0.13 sec <<< ERROR!
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(SWT.java:4109)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:902)
at org.eclipse.swt.widgets.Display.create(Display.java:890)
at org.eclipse.swt.graphics.Device.<init>(Device.java:154)
at org.eclipse.swt.widgets.Display.<init>(Display.java:499)
at org.eclipse.swt.widgets.Display.<init>(Display.java:490)
at org.eclipse.swt.widgets.Display.getDefault(Display.java:1693)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:260)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:253)
at
난에 표시를 사용하고있는 방식에 문제가있는 것은 거기에 내 테스트? 내 로컬 컴퓨터에서 실행될 때 작동합니다.