0

Running the following snippet (with JDK 7 set in Eclipse):

import javafx.scene.Scene;
import javafx.stage.Stage;

import org.junit.Test;
import org.testfx.framework.junit.ApplicationTest;

public class BasicTestFxTest extends ApplicationTest 
{
    @Override
    public void start(Stage stage) throws Exception 
    {
        Scene scene = new Scene(null, 800, 600);
        stage.setScene(scene);
        stage.show();
    }

    @Test
    public void test()
    {
        System.out.println("This is not a test.");
    }
}

Results in the following exception:

java.lang.UnsupportedClassVersionError: org/testfx/framework/junit/ApplicationTest : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:685) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:421) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

Note: I am using testfx-core and testfx-junit 4.0.1-alpha.

mre
  • 43,520
  • 33
  • 120
  • 170

1 Answers1

1

It is fixed in version 4 (TestFX 4.0.0-alpha — February 27, 2015 - #103) but version 4 is in alpha phase

(fix) Service: Fix compatibility to Java 7 and JavaFX 2. (#103) — 1 commit

The issue: https://github.com/TestFX/TestFX/pull/103

Pau
  • 14,917
  • 14
  • 67
  • 94
  • 1
    It is still broken in 4.0.4-alpha. Also, that commit doesn't look like it would fix the problem I'm seeing. At least they're aware of the compatibility issue! – mre Oct 24 '16 at 14:15
  • I think the problem is that the binary was compiled against Java 8. – mre Oct 24 '16 at 16:28