2017-03-27 3 views
0

에게 매개 변수 계산기목록이

@AsParameterConverter 
public MyType toMyType(String myTypeString) { 
} 
을 감안할 때

내가, 단계 그리고

@Given("a custom step with a $vals") 
public void list(List<MyType> vals) { 
} 

가 실행해야을 갖는 테스트를 실행하려고 할 때 다음 메시지와 함께 실패합니다.

No parameter converter for interface java.util.List 
org.jbehave.core.steps.ParameterConverters$ParameterConvertionFailed: No parameter converter for interface java.util.List 
+0

'List vals'을 'MyType vals'로 바꾸면 작동합니다. – pihentagy

답변

0

제 생각에 JBehave는 배열을 매개 변수로 사용하지 않습니다. 대신 변수를 개별적으로 전달해야합니다. 너무 많으면 다른 접근법을 고려해야합니다. 중복되지 않았지만 <>으로 변경되면 $를 사용하여 "중복 단계"를 사용하여 기존 코드에 문제가 발생했기 때문에 <> $ 대신 매개 변수의 구분 기호를 사용하는 것이 좋습니다. 보고 된 오류의 원인은 아니지만 정의 된 매개 변수 유형 및 변수 앞에 @Named ("vals") 선언을 사용해야한다고 생각합니다.

JBehave가 매개 변수로 배열을 지원할 수없는 이유는 무엇을 전달할 것인지를 알 수 없기 때문입니다. 시나리오의 유일한 매개 변수라고 생각할 수도 있지만 다른 변수가있는 경우에는 val이 직원 정보 (이름, 성 등)가 될 수 있으며 동일한 시나리오의 다른 단계가 필요합니다. , 말하자면, URL. JBehave는 예제 목록에서 "val"로 전달할 변수와 "URL"또는 다른 변수를 찾을 위치를 어떻게 결정할 수 있습니까?