Org.junit.jupiter.api.extension.ParameterResolutionException: для параметра [int arg0] в конструкторе не зарегистрированJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Org.junit.jupiter.api.extension.ParameterResolutionException: для параметра [int arg0] в конструкторе не зарегистрирован

Сообщение Anonymous »

Я переношу наши тесты с Junit4 на Junit5, один из которых представляет собой базовый тестовый класс, унаследованный 29 другими классами с помощью конструктора.
Я изменил его, чтобы использовать Junit5 , структура следующая:

Код: Выделить всё

public class BaseTest {
protected String field1;
protected Integer field2;

public BaseTest(String field1, Integer field2) {
this.field1 = field1;
this.field2 = field2;
}
}

public class ChildTest extends BaseTest {
public ChildTest(String field1) {
super(field1, null);
}

private static Stream data() {
return Stream.of(Arguments.of("string1"));
}

@ParameterizedTest
@MethodSource("data")
public void test1() {
assertNull(this.field2);
}
}

Но теперь выбрасывает

Код: Выделить всё

org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [java.lang.String arg0] in constructor [public junit5.ChildTest(java.lang.String)].
Я видел другие ответы, которые здесь не совсем применимы, кто-нибудь может поделиться идеями?
Я видел этот: Junit 5 — Для параметра не зарегистрировано ParameterResolver
  • Я уже использую только одну аннотацию: @ParameterizedTest;
  • Я пытался использовать функцию setup() с аннотацией @BeforeEach, но Junit5 почему-то не позволяет мне передавать в нее параметры...
Спасибо!< /п>

Подробнее здесь: https://stackoverflow.com/questions/791 ... eterresolv
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»