I am developing a unit test that depends on the JFX instance to run, but when Bitbucket runs the test, it fails to initialize the JFXPanel.
These are my bitpacket conveyors:
pipelines: default: - step: caches: - maven script:
@BeforeClass that run JFXPanel:
@BeforeClass public static void setup() { new JFXPanel(); }
I can create my project without problems on my computer, but Bitbucket cannot.
Bitbucket Test Log:
TESTS ------------------------------------------------------- Running com.abc.suapp.model.QuickCommandsTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.045 sec Running com.abc.suapp.model.DeviceTest Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec Running com.abc.suapp.factory.SystraceFactoryTest Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.224 sec <<< FAILURE! com.abc.suapp.factory.SystraceFactoryTest Time elapsed: 0.223 sec <<< ERROR! java.lang.UnsupportedOperationException: Unable to open DISPLAY at com.sun.glass.ui.gtk.GtkApplication.<init>(GtkApplication.java:68) at com.sun.glass.ui.gtk.GtkPlatformFactory.createApplication(GtkPlatformFactory.java:41) at com.sun.glass.ui.Application.run(Application.java:146) at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:257) at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:211) at javafx.embed.swing.JFXPanel.initFx(JFXPanel.java:215) at javafx.embed.swing.JFXPanel.<init>(JFXPanel.java:230) at com.abc.suapp.factory.SystraceFactoryTest.setup(SystraceFactoryTest.java:25) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
I did not find someone who had the same problem. Similar problems, such as a build failure on the bitbucket, say that it may be a pipeline that does not have some command.
bitbucket maven unit-testing javafx
Iago coutinho campos
source share