junit5

JUnit是Java语言的单元测试软件包,由于ADF构建在J2EE框架之上,因此可以用来测试Oracle ADF应用程序。 单元测试基本上是根据某些定义的测试标准来验证最小的可测试模块的过程。 在这里,我将说明如何在JDeveloper 12.2.1.3中设置和使用JUnit来测试ADF应用程序。

JDeveloper 12.2.1.3带有JUnit扩展,因此无需单独安装。 让我们从在JDeveloper IDE中创建Fusion Web应用程序开始。 在这里,我使用默认HR模式的Departments表来为ADF应用程序准备模型。

下一步是创建一个新项目来保存单元测试,以使整个应用程序看起来不模糊。 右键单击应用程序名称,然后选择“新建”->“从图库”->“常规”->“项目”->“ Java项目” 

为该项目命名,然后单击“完成”按钮。

现在,下一步是为业务组件创建Test Suite,在此之前,我们应该知道单元测试中使用的一些术语。

测试套件–一组测试用例

测试装置–一个用于处理长时间运行的测试用例并保持多个测试用例状态的类。

断言–根据预期结果检查测试用例的结果。

现在打开测试套件向导,右键单击新项目,然后选择新建–>从图库–>常规–>单元测试–> ADF业务组件测试套件

单击确定按钮并配置测试套件。 您可以看到,在这里我选择了Model项目和DeptAm应用程序模块进行测试。 您也需要为数据库连接选择配置,在这里我选择了DeptAMLocal。

单击下一步按钮,将看到此向导将生成一个Test Suite类和一个Test Fixture类。 该向导还将为应用程序中的每个视图对象生成单独的单元测试类。

现在单击完成按钮,您可以在新项目下创建所有文件。

DeptAmFixture.java –测试装置类

AllDeptAMTests.java –测试套件类

DepartmentsVO1VOTest.java –部门ViewObject的单元测试类

现在打开DepartmentsVO1VOTest.java类,然后查看默认的测试用例,该用例检查Department View Object不应为null。

您可以在此处看到@Test批注,这表明此java方法是单元测试,并且在执行测试断言后将用于验证测试结果。

@Test
public void testAccess() {ViewObject view = fixture1.getApplicationModule().findViewObject("DepartmentsVO1");assertNotNull(view);
}@Before
public void setUp() {
}@After
public void tearDown() {
}

要检查此默认测试用例,请右键单击测试套件类,然后选择运行。 您可以看到单元测试成功执行。

下一步是创建一些自己的单元测试,我创建了这个单元测试,用于检查在新创建的行中Department ID是否不应为null。

@Test
public void checkDeptIdNotNull() {ViewObject deptVo = fixture1.getApplicationModule().findViewObject("DepartmentsVO1");Row newRow = deptVo.createRow();newRow.setAttribute("DepartmentId", 222);newRow.setAttribute("DepartmentName", "Testing");assertNotNull("DepartmentId should not be null", newRow.getAttribute("DepartmentId"));
}

因此,在上面的代码中,我在Departments视图对象中创建了一个新行,并在Department Id中设置了222。 现在运行该测试用例。

您可以在这里看到测试成功通过,因为Department Id不为null,太好了。 现在在代码中注释此行

//newRow.setAttribute(“DepartmentId”,222);

然后再次运行测试

看到测试由于AssertionError失败,因为这次部门ID为null。 这就是我们可以编写自己的单元测试进行检查的方式。

在这里,我还要编写一个测试用例,以检查部门是否在数据库中。 我将1990年作为不在数据库中的部门ID传递。

@Test
public void findDepartment() {ViewObject deptVo = fixture1.getApplicationModule().findViewObject("DepartmentsVO1");int deptId = 1990;Row row[] = deptVo.findByKey(new Key(new Object[] { deptId }), 1);Integer count = row.length;//assertTrue fails when second parameter evaluates to "false"assertTrue("Department Not Found", count.compareTo(0) == 1);}

让我们看看结果

这就是我们在Oracle ADF Application for Unit Testing中配置和使用JUnit的方式。

翻译自: https://www.javacodegeeks.com/2019/07/unit-testing-adf-application-using-junit.html

junit5

junit5_使用JUnit对ADF应用程序进行单元测试相关推荐

  1. 使用junit进行单元测试_使用JUnit对ADF应用程序进行单元测试

    使用junit进行单元测试 JUnit是Java语言的单元测试软件包,由于ADF构建在J2EE框架之上,因此可以用于测试Oracle ADF应用程序. 单元测试基本上是根据某些定义的测试标准来验证最小 ...

  2. 使用JUnit对ADF应用程序进行单元测试

    JUnit是Java语言的单元测试软件包,由于ADF构建在J2EE框架之上,因此可以用来测试Oracle ADF应用程序. 单元测试基本上是根据某些定义的测试标准来验证最小的可测试模块的过程. 在这里 ...

  3. docker安装_以简便的方式监控Docker容器中的ADF应用程序

    docker安装 在这篇简短的文章中,我将展示一种简单的方法来确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序. 我将使用标准工具JConsole,它是计算机上JD ...

  4. 使用junit进行单元测试_使用JUnit5对DynamoDB应用程序进行单元测试

    使用junit进行单元测试 在上一篇文章中,我描述了新的Java 2 AWS开发工具包,它为调用不同AWS服务的Java客户端提供了非阻塞IO支持. 在本文中,我将介绍一种用于单元测试AWS Dyna ...

  5. docker 容器监控_以简便的方式监控Docker容器中的ADF应用程序

    docker 容器监控 在这篇简短的文章中,我将展示一种简单的方法来确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序. 我将使用标准工具JConsole,它是计算机 ...

  6. oracle adf_Fn函数来构建Oracle ADF应用程序

    oracle adf 在我之前的一篇文章中,我描述了如何创建一个Docker容器作为ADF应用程序的构建器. 在这里,我将展示如何将此容器用作 在FN平台的功能 . 首先,让我们更新容器,使其符合功能 ...

  7. 轻松监控Docker容器中的ADF应用程序

    在这篇简短的文章中,我将展示一种简单的方法,以确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序. 我将使用标准工具JConsole,它是计算机上JDK安装的一部分. ...

  8. Fn函数来构建Oracle ADF应用程序

    在我以前的一篇文章中,我描述了如何创建一个Docker容器作为ADF应用程序的构建器. 在这里,我将展示如何将此容器用作 在FN平台的功能 . 首先,让我们更新容器,使其符合功能要求,这意味着可以将其 ...

  9. 使用WebLogic共享库连续交付ADF应用程序

    介绍 当ADF应用程序建立在共享库之上时,有一种非常流行的架构模式. 因此,主应用程序被部署为EAR,并且所有子系统都在共享库中实现,这些共享库可以在"热"模式下独立构建并作为JA ...

最新文章

  1. 常用 CSS 选择器
  2. git生成public key
  3. 如何浏览文本字段(下一个/完成按钮)
  4. LA2678最短子序列
  5. Nginx技巧:灵活的server_name,Nginx配置一个服务器多个站点 和 一个站点多个二级域名...
  6. 【深度学习】利用CNN来检测伪造图像
  7. python字典的用法_Python字典的用法详解(附示例)
  8. 计算机技术如何设计酶,百人学者Nature Chemical Biology发文,发现一种设计酶的新方法...
  9. IntelliJ IDEA常用快捷键——基于Eclipse
  10. mysql myisam写入性能_(转)innodb 与 myisam 读写性能分析
  11. (转)@Autowire注解与自动装配
  12. 《播客》项目总结——web标准页面设计方面(转)
  13. Linux非root用户部署jdk等命令
  14. [Selenium+Java] Selenium Framework: Keyword Driven Hybrid
  15. TCP粘包原因及解决办法
  16. 重装服务器系统鼠标键盘用不了,win7重装系统后鼠标键盘不能用怎么办
  17. Torts and Personal Injury
  18. ZigBee之帧结构
  19. 中学-知识与能力【5】
  20. 互联网乱弹之毒在何方?

热门文章

  1. Javascript深入浅出
  2. LVM原理及实现过程
  3. slf4j 使用方法---个人总结
  4. 无法使用BIPublisher开发报表
  5. 〖Java〗Eclispe安装和使用viplugin
  6. [转]parseUrl函数
  7. shell-init: error
  8. windows_7_64位下配置mysql64位免安装版
  9. linux shell 符号 变量 参数表示
  10. Oracle EBS渗透测试工具