@SuppressWarnings("OptionalGetWithoutIsPresent") //Presence checked in calling method
    private static List<NamedArgument> findByReflectingJUnit512Context(ExtensionContext context) {
        List<NamedArgument> namedArgs = new ArrayList<>();
        try {
            if (context.getClass().getCanonicalName().equals(METHOD_EXTENSION_CONTEXT)) {
                Field field = context.getClass().getSuperclass().getDeclaredField("testDescriptor");
                Object testDescriptor = ReflectionUtil.getFieldValueOrNull(field, context, ERROR);
                if (testDescriptor != null
                        && testDescriptor.getClass().getCanonicalName().equals(TEST_TEMPLATE_INVOCATION_TEST_DESCRIPTOR)) {
                    Object invocationContext = ReflectionUtil.getFieldValueOrNull("invocationContext", testDescriptor, ERROR);
                    if (invocationContext != null
                            && invocationContext.getClass().getCanonicalName().equals(PARAMETERIZED_TEST_INVOCATION_CONTEXT)) {
                        Object arguments = ReflectionUtil.getFieldValueOrNull("arguments", invocationContext, ERROR);
                        if (arguments instanceof Arguments) {
                            List<Object> args = Arrays.asList(((Arguments) arguments).get());
                            namedArgs = ParameterNameUtil.mapArgumentsWithParameterNames(context.getTestMethod().get(), args);
                        } else {
                            log.warn(ERROR + " The type of arguments in the invocation context has changed. Please write a bug report.");
                        }
                    }
                }
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return namedArgs;
    }
This is a very ugly workaround to get the method arguments from the JUnit 5 context via reflection.
jgiven-junit5/src/main/java/com/tngtech/jgiven/junit5/ArgumentReflectionUtil.java