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

使用junit进行单元测试

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应用程序准备模型。

ADF应用

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

ADF应用

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

ADF应用

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

测试套件 –一组测试用例

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

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

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

ADF应用

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

ADF应用

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

ADF应用

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

DeptAmFixture.java –测试装置类

AllDeptAMTests.java –测试套件类

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

ADF应用

现在打开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() {
}

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

ADF应用

下一步是创建一些自己的单元测试,我已经创建了该单元测试,用于检查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。 现在运行该测试用例。

ADF应用

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

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

然后再次运行测试

ADF应用

看到测试由于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);}

让我们看看结果

ADF应用

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

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

使用junit进行单元测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring mvc是什么_狂神说SpringMVC01:什么是SpringMVC

狂神说SpringMVC系列连载课程,通俗易懂,基于Spring5版本(视频同步),欢迎各位狂粉转发关注学习。未经作者授权,禁止转载1、回顾MVC1.1、什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设…

Maven的settings.xml范本(含资源仓库镜像配置)

文章目录一、settings.xml 范本二、资源仓库镜像一、settings.xml 范本 <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instanc…

java gradle构建_在Gradle中为JPMS构建Java 6-8库

java gradle构建通过提供Java 9 module-info.class了解如何使用Gradle构建支持JPMS&#xff08; Java平台模块系统 &#xff09;的Java 6-8库。 介绍 如果您需要JPMS本身的介绍&#xff0c;请查看此概述 。 这篇文章主要针对Java库维护者。 任何此类维护人员都必须选择要针对…

tcppwebbrower 关闭安全警报_【知识】锅炉与压力容器安全

一、锅炉的主要安全附件1.安全阀安全阀属于泄压装置&#xff0c;能够自动将锅炉工作压力控制在允许范围之内。当炉内超压时&#xff0c;安全阀自动开启&#xff0c;自动泄压&#xff0c;同时发出警报&#xff1b;当炉内压力降到允许范围时&#xff0c;安全阀自动关闭。安全阀使…

macOS下查看Java/JDK的安装目录_查看Java/JDK的版本信息_配置环境变量JAVA_HOME

文章目录查看JDK的安装目录查看系统当前正在使用的 JDK 版本信息配置环境变量 JAVA_HOME查看JDK的安装目录 通常情况下&#xff0c;macOS安装JDK&#xff0c;默认是安装在 /Library/Java/JavaVirtualMachines 目录下。 使用 java_home 命令查看&#xff1a; [~]$ /usr/libex…

java_home命令详解

文章目录命令介绍命令选项说明帮助信息命令介绍 The java_home command returns a path suitable for setting the JAVA_HOME environment variable. It determines this path from the user’s preferred JVM based on configured environment variables. Additional constra…

安全审计报告_企业做税审的五大好处!税审报告和审计报告的区别

税务审计报告是税务审计人员根据税务审计的相关法律、法规&#xff0c;对被审计单位的纳税行为和纳税事项进行评估&#xff0c;并发表意见的书面文件。(咨询&#xff1a;13510890028&#xff0c;肖)一、企业做税审的五大好处:1、可弥补亏损&#xff0c;减少税款支出企业所得税法…

selenium自动化测试_您如何使用Selenium来计算自动化测试的投资回报率?

selenium自动化测试跨浏览器测试是一种测试&#xff0c;需要大量的精力和时间。 通过不同的浏览器&#xff0c;操作系统&#xff0c;设备&#xff0c;屏幕分辨率测试Web应用程序&#xff0c;以评估针对各种受众的Web内容呈现的过程是一项活动。 特别是如果手动处理。 使用Selen…

早期计算机的应用主要是( ) (2分),计算机基础第1次作业(含答案)

重庆大学网络教育学院《计算机应用基础》2008年秋季第一次作业《计算机基础知识和中文WIN XP操作系统》注&#xff1a;[ ]内为考查知识点一、单选题(每题2分&#xff0c;10题共20分)1、早期的计算机体积大、耗能高、速度慢&#xff0c;其主要原因是制约于( )。[计算机的发展及应…

python输出结果空格分割_用Python编写固定宽度,以空格分隔的CSV输出

我想使用Python的csv编写器编写一个固定宽度,空格分隔和最小引用的CSV文件. 输出示例&#xff1a; item1 item2 "next item1" "next item2" anotheritem1 anotheritem2 如果我用 writer.writerow( (“{0:15s}”.format(item1), “{0:15s}”.format(item2))…

macOS下搭建Nexus 3.x服务器作为Maven的资源仓库服务器

文章目录下载 Nexus 服务器安装包安装 Nexus 服务器配置环境变量/启动服务器/停止服务器Nexus 服务器管理后台登录管理后台Blob StoresNexus 初始密码无法登录的问题仓库&#xff08;Repository&#xff09;Nexus 内置的仓库Repository 的 Type 属性创建代理仓库创建本地仓库&a…

宣城校区计算机排名,2017秋大学计算机(合肥工业大学 宣城校区)

1.《大学计算机》课程与其它类似的课程有什么不同&#xff1f;《大学计算机》是面向大学一年级学生开设的计算机通识类课程&#xff0c;类似的还有《大学计算机基础》、《计算机应用基础》&#xff0c;或者《计算机文化基础》、《信息技术基础》等课程&#xff0c;它和这些不同…

jakarta ee_关于Jakarta EE软件包名称更改的思考

jakarta eeEclipse基金会宣布 Jakarta EE无法继续使用javax软件包名称。 显然&#xff0c;这是由于Java EE以此名称为基础&#xff0c;但不允许对该名称或以该名称开头的类或包进行进一步的修改。 尽管这当然是个坏消息&#xff0c;但对我而言&#xff0c;当宣布Jakarta EE不能…

人工智能教程

参见&#xff1a;https://www.captainbed.net/csdn/

python的setting怎么找_Python的Django框架中settings文件的部署建议

django在一个项目的目录结构划分方面缺乏必要的规范&#xff0c;因此不同人的项目组织形式也千奇百怪&#xff0c;而且也很难说谁的做法就比较好。我根据自己的项目组织习惯&#xff0c;发布了一个项目dj-scaffold。 前些天在reddit上为我的项目dj-scaffold打了个“广告”&…

显示计算机硬盘驱动器更改,计算机更换硬盘驱动器后蓝屏发生了什么

关于更换硬盘后的计算机蓝屏&#xff0c;怎么了&#xff1f;然后让我告诉您更换硬盘后计算机蓝屏的原因和解决方法。希望能对您有所帮助。 &#xff01;计算机更换硬盘后蓝屏的解决方法&#xff1a;蓝屏的主要原因是&#xff1a;1、病毒木马和恶意软件2、有问题的内存(包括物理…

aws eks_在生产中配置和使用AWS EKS

aws eks到现在&#xff0c;我们已经完成了向Amazon EKS &#xff08; 工作地点&#xff09;的迁移&#xff0c;并且集群已经投入生产。 过去&#xff0c;我已经写了一些要点的简短摘要&#xff0c;您可以在这里找到。 当系统正在处理实际流量时&#xff0c;我有了一些额外的信心…

Nexus中创建仓库时,repository connectors 干嘛的?

参见&#xff1a;https://support.sonatype.com/hc/en-us/articles/115013153887-Docker-Repository-Configuration-and-Client-Connection

量子计算机是否存在相对论,潘建伟团队再登Science:寻找广义相对论与量子力学的桥梁...

将环球科学设为星标周一至周五早间第一时间掌握最新鲜的全球科技资讯量子物理学寻找广义相对论与量子力学的桥梁广义相对论与量子力学是现代物理的两块基石。然而&#xff0c;它们之间似乎存在不可调和的矛盾&#xff0c;很多在广义相对论框架下适用的物理规则&#xff0c;在量…

判断大小简单算法_JVM GC算法

在判断哪些内存需要回收和什么时候回收用到GC 算法&#xff0c;本文主要对GC 算法进行讲解。JVM垃圾判定算法常见的JVM垃圾判定算法包括&#xff1a;引用计数算法、可达性分析算法。引用计数算法(Reference Counting)引用计数算法是通过判断对象的引用数量来决定对象是否可以被…