ParameterResolutionException: для параметра не зарегистрирован параметр ParameterResolver - PullRequest
0 голосов
/ 27 января 2020

Я получаю сообщение об ошибке:

org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [boolean arg0] in executable [protected com.mypackage.MyTest(boolean)].

Я запускаю тест, который выглядит следующим образом из этого репо: https://github.com/jcustenborder/kafka-connect-transform-common/tree/master/src/test/java/com/github/jcustenborder/kafka/connect/transform/common:

package com.github.jcustenborder.kafka.connect.transform.common;

import org.apache.kafka.connect.sink.SinkRecord;
import org.apache.kafka.connect.transforms.Transformation;
import org.junit.jupiter.api.BeforeEach;

public abstract class TransformationTest {
  final boolean isKey;
  final static String TOPIC = "test";


  protected TransformationTest(boolean isKey) {
    this.isKey = isKey;
  }

  protected abstract Transformation<SinkRecord> create();

  Transformation<SinkRecord> transformation;

  @BeforeEach
  public void before() {
    this.transformation = create();
  }


}
package com.github.jcustenborder.kafka.connect.transform.common;

import com.google.common.collect.ImmutableMap;
import org.apache.kafka.connect.connector.ConnectRecord;
import org.apache.kafka.connect.data.Schema;
import org.apache.kafka.connect.data.SchemaBuilder;
import org.apache.kafka.connect.data.Struct;
import org.apache.kafka.connect.sink.SinkRecord;
import org.apache.kafka.connect.transforms.Transformation;
import org.junit.jupiter.api.Test;

import static com.github.jcustenborder.kafka.connect.utils.AssertSchema.assertSchema;
import static com.github.jcustenborder.kafka.connect.utils.AssertStruct.assertStruct;
import static org.junit.jupiter.api.Assertions.assertNotNull;

public abstract class ExtractNestedFieldTest extends TransformationTest {
  protected ExtractNestedFieldTest(boolean isKey) {
    super(isKey);
  }

  @Test
  public void test() {
    this.transformation.configure(
        ImmutableMap.of(
            ExtractNestedFieldConfig.INNER_FIELD_NAME_CONF, "state",
            ExtractNestedFieldConfig.OUTER_FIELD_NAME_CONF, "address",
            ExtractNestedFieldConfig.OUTPUT_FIELD_NAME_CONF, "state"
        )
    );

    final Schema innerSchema = SchemaBuilder.struct()
        .name("Address")
        .field("city", Schema.STRING_SCHEMA)
        .field("state", Schema.STRING_SCHEMA)
        .build();
    final Schema inputSchema = SchemaBuilder.struct()
        .field("first_name", Schema.STRING_SCHEMA)
        .field("last_name", Schema.STRING_SCHEMA)
        .field("address", innerSchema)
        .build();
    final Schema expectedSchema = SchemaBuilder.struct()
        .field("first_name", Schema.STRING_SCHEMA)
        .field("last_name", Schema.STRING_SCHEMA)
        .field("address", innerSchema)
        .field("state", Schema.STRING_SCHEMA)
        .build();
    final Struct innerStruct = new Struct(innerSchema)
        .put("city", "Austin")
        .put("state", "tx");
    final Struct inputStruct = new Struct(inputSchema)
        .put("first_name", "test")
        .put("last_name", "developer")
        .put("address", innerStruct);
    final Struct expectedStruct = new Struct(expectedSchema)
        .put("first_name", "test")
        .put("last_name", "developer")
        .put("address", innerStruct)
        .put("state", "tx");

    final SinkRecord inputRecord = new SinkRecord(
        "topic",
        1,
        null,
        null,
        inputSchema,
        inputStruct,
        1L
    );
    for (int i = 0; i < 50; i++) {
      final SinkRecord transformedRecord = this.transformation.apply(inputRecord);
      assertNotNull(transformedRecord, "transformedRecord should not be null.");
      assertSchema(expectedSchema, transformedRecord.valueSchema());
      assertStruct(expectedStruct, (Struct) transformedRecord.value());
    }
  }


  public static class ValueTest<R extends ConnectRecord<R>> extends ExtractNestedFieldTest {
    protected ValueTest() {
      super(false);
    }

    @Override
    protected Transformation<SinkRecord> create() {
      return new ExtractNestedField.Value();
    }
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...