В Java у меня есть объект String
с текстом, который я хочу сопоставить и выполнить JBehave
в качестве шага. Как это может быть сделано? Можно ли это сделать?
Что я действительно пытаюсь сделать, так это иметь шаг-оболочку JBehave
, который инструментирует другой произвольный шаг JBehave
. Он делает несколько вещей до и после вызова "внутреннего" шага.
Итак, скажем, у меня уже есть следующее
When I say Hello World
и
@When("I say $text")
public void iSay(final String text)
{
System.out.println(text);
}
Я хочу иметь возможность сделать следующее:
When I repeat 4 times I say Hello World
он вызовет:
@When("I repeat $count times $subStepString")
public void repeat(final int repeatCount, final String subStepString)
{
// prep code here
for (int i = 0; i < repeatCount; i++)
{
howDoIdoThisBitHere(subStepString);
}
// post process code here
}
Часть, которая говорит, как DoIdoThisBitHere(...) должна в конечном итоге привести к тому, что JBehave будет соответствовать значению subStepString
, как если бы оно встречалось в случае выше. Таким образом, я могу использовать этот метод для вызова других произвольных вещей.