Ошибка «ParameterResolver не зарегистрирован для параметра [java.lang.String arg0] в конструкторе» - PullRequest
0 голосов
/ 10 октября 2019

Я хочу параметризовать тесты, чтобы принять недопустимые имена в качестве аргумента, и получил ошибку «Нет параметра ParameterResolver, зарегистрированного для параметра [java.lang.String arg0] в конструкторе». Я прошел через проблемы, похожие на мои, до сих пор не могу решить это. Может ли кто-нибудь помочь мне с этим? Спасибо !!!

@RunWith(Parameterized.class) 

public class MyTest {

private static final String ERROR_INFO = "we got an error.";

public String myInput;


public MyTest(String myInput){
    this.myInput = myInput;
}

@BeforeAll
public void setup() { }

//Creates the test data
@Parameterized.Parameters
public static Collection<Object[]> data() {
    Object[][] data = new Object[][]{{"test?", "test*"},{"test ", " test", "te st", "test\t", "\ttest", "te\tst"}};
    return Arrays.asList(data);
}

@Test
public void GIVEN_invalid_value_THEN_fail(){
            String errorMessage = Assertions.assertThrows(InvalidRequestException.class, () -> setUpRule(myInput)).getMessage();

            assertThat("", errorMessage, Matchers.containsString(ERROR_INFO));

}

public void setupRule(String myInput){}
...