单纯通过应用模块测试仪很难看清楚。 但是,如果您有基于AM的数据控件并在界面(如UI页面)上使用它们,则可以检查isExecuted
方法的工作情况。
您的用户界面,您可以创建一个不绑定到任何基于该VO的数据控制的一个基本的页面 - 但仅限于您通过AM的客户端接口暴露一个简单的AM操作:
public void showIsExecuted() {
System.out.println("*******TestAppModuleImpl::showIsExecuted() DepartmentsView1:" + this.getDepartmentsView1().isExecuted());
System.out.println("*******TestAppModuleImpl::showIsExecuted() DepartmentsView2:" + this.getDepartmentsView1().isExecuted());
System.out.println("*******TestAppModuleImpl::showIsExecuted() ViewObj1:" + this.getViewObj1().isExecuted());
}
在UI页面(view1.jsf),只调用该方法,而无需使用任何基于VO数据控制的,你的输出应该表明这一点:
*******TestAppModuleImpl::showIsExecuted() DepartmentsView1:false
*******TestAppModuleImpl::showIsExecuted() DepartmentsView2:false
*******TestAppModuleImpl::showIsExecuted() ViewObj1:false
现在,另一个UI页面上(如视图2。 jsf),显示来自一个或多个VO的一些数据,还有一个用于cust的按钮om AM功能。运行该页面后,你应该得到下面的日志(如预期):
*******TestAppModuleImpl::showIsExecuted() DepartmentsView1:true
*******TestAppModuleImpl::showIsExecuted() DepartmentsView2:true
*******TestAppModuleImpl::showIsExecuted() ViewObj1:false
以供参考,这是我的设计时间设置(在JDeveloper 12.2.1.1)看起来像:
另外,您可以进一步调整AM - > General - > Tuning - > Customize Runtime Instantiation Behavior下的选项