0
SpecFlow 단계를 StepArgumentTransformation
에 따라 변환 했으므로 여러 프리미티브 매개 변수를 처리 할 필요가 없지만 변형 메서드로 작성된 단일 복합 매개 변수를 사용할 수 있습니다.단계 인수 변환을 사용할 때 SpecFlow 단계 메서드에서 불필요한 매개 변수를 제거하려면 어떻게합니까?
하지만 "매개 변수 개수 불일치"예외가 발생하기 때문에 단계에서 기본 매개 변수를 제거 할 수 없다는 것을 알았습니다.
[Given("(something (\d) (\d))")]
public void Step(Something something)
{
// Does not work (parameter count mismatch)
}
[Given("(something (\d) (\d))")]
public void Step(Something something, int x, int y)
{
// Works, but is slightly confusing due to unused parameters
}
[StepArgumentTransformation("something (\d) (\d)")]
public Something Transform(int x, int y)
{
var something = new Something(x, y);
return something;
}
나는이 단계 방법에
x
및
y
매개 변수를 제거 할 수있는 방법
?
쿨, 감사합니다! 실제로 괄호는 SpecFlow에 의해 사용되어 그들과 함께 놀면 트릭을 수행 한 것 같다 :'(something \ d \ d)'는 하나의 인자 (한쌍의 괄호)에 매핑으로 해석되고, SpecFlow는 변환을 사용한다 그 논증에 대한 가치를 제공한다. –