JDeveloper专门为测试ADF-BC提供了一个插件:BC4J JUnit Integration。
下面就介绍如何使用该插件。
1. 安装BC4J JUnit Integration Extension
2. 单独创建一个测试Project
为了不与Model项目的源代码混淆,这里单独建立一个测试Project。
(1)选择Custom Project
(2)选择新建Unit Tests,选择ADF Business Components Test Suite
(3)选择ADF Business Components 项目,选择AM
(4)生成如下AM测试类
3. 修改AM或VO测试类
默认情况下,只会为VO生成一个testAccess测试方法
@Test public void testAccess() { ViewObject view = fixture1.getApplicationModule().findViewObject("JobsView1"); assertNotNull(view); }
下面,我们增加几个测试。
(1)测试创建Job时,如果不设置JobId,是否会抛出AttrValException异常
@Test (expected = AttrValException.class) public void testJobIdRequired() { ViewObject view = fixture1.getApplicationModule().findViewObject("JobsView1"); Row r = view.createRow(); r.setAttribute("JobTitle", "Oracle CEO"); r.validate(); }
(2)测试创建Job时,JobTitle的长度至少为6。
@Test (expected = AttrValException.class) public void testJobTitleAtLeast6Characters() { ViewObject view = fixture1.getApplicationModule().findViewObject("JobsView1"); Row r = view.createRow(); r.setAttribute("JobId", "CEO"); r.setAttribute("JobTitle", "CEO"); r.validate(); }
3. 运行测试、
右键JobsView1VOTest,选择运行,结果如下:
可以看出,testJobTitleAtLeast6Characters测试没有通过,因为测试期望抛出AttrValException,但是并没有抛出。
修改Jobs EO的JobTitle验证规则如下:
再次运行,发现测试都通过了。
Project 下载:ADF_Table(JUnit).7z
没有评论:
发表评论