嗨,我有一个 WebFlowTestCase 并且工作正常,但是当我需要测试同一控制器(groovy)中的另一个流时遇到了问题。这是我的控制器的样子:
class MyController {
def someService
def dateHelper = new DateHelper()
def index = {... }
def myCreateFlow = {
start{}
createCase{}
finishCancel{
}
def myViewFlow = {...}
def myEditFlow = {...}
}
我已经成功地为myCreateFlow创建了测试,如下所示:
class MyControllerTest extends WebFlowTestCase {
def myController = new MyController();
@Override
public Object getFlow() {
// TODO Auto-generated method stub
return myController.myCreateFlow
}
protected void setUp() {
super.setUp()
}
protected void tearDown() {
super.tearDown()
}
void testmyCreateFlow()
{
...
}
}
我的问题是 myEditFlow 和 myViewFlow 怎么样?getFlow() 只返回 myCreateFlow 时,如何注册或使用它?有没有我可以在一个 webflowtest 中使用所有这些而不创建新的 webflowtestclass 的方法?或者有没有一种方法可以将它放在 getflow 中,使用一些 switch/if else 方法,例如:
@Override
public Object getFlow() {
// TODO Auto-generated method stub
if condition
return myController.myCreateFlow
else return myController.myEditFlow
}
因为当我尝试创建 testmyEditFlow() 时出现以下错误,我知道这是因为 get 流仅返回 myCreateFlow。至少这是我对测试错误消息的看法。
在流“test”中找不到 ID 为“myEditFlow”的状态——已知状态 ID 为“array['start','createCase'...'finishCancel']'