Java单元测试 - TestNG】的更多相关文章

TestNG是另一种单元测试的framework,与JUnit的类似,这次Mix将使用它来撰写测试程序,大部分所引用的class package都一样,只差在JUnit与TestNG的字样,可以直接用搜寻取代字符串,快速替代掉,或是用IDE plugin直接转换成测试程序代码. 阅读全文>>…
官网 Eclipse安装TestNG插件 与Junit相比 从Junit发展而来,开发者就是Junit小组的一个人 Test Suite不再需要硬编码,就像cf自动登录的脚本中一样,可以写到一个xml文件中 Eclipse或STS中需要安装TestNG插件 貌似在线安装网站经常不能用,从eclipse网站拖Install按钮到eclipse中同样经常不能用,可能是代理等问题.可以离线安装,去http://beust.com/eclipse下载 安装了插件后,就可以Run As或者Debug As…
另外两篇关于介绍easemock的文章:EasyMock 使用方法与原理剖析,使用 EasyMock 更轻松地进行测试 摘要:本文针对当前业软开发现状,先分析了WEB开发的技术特点和单元测试要解决的问题,然后分别阐述了解决这些问题的单元测试技术,内容包括:JUnit.测试桩构建.访问数据库的Java代码测试.Struts框架测试.服务器布署环境下的组件测试.Spring下的单元测试,以及覆盖率检查技术,最后还谈到了测试自动化技术以及希望在业软推广的自动化测试框架和它带来的好处.另外,随本文还附有…
JUnit 是被广泛应用的 Java 单元测试框架,但是它没有很好的提供参数化测试的支持,很多测试人员不得不把测试数据写在程序里或者通过其它方法实现数据与代码的分离,在后续的修改和维护上有诸多限制和不便.Feed4JUnit 是开源的基于 JUnit 的扩展,通过使用 Feed4JUnit 提供的注释,用户可以很方便的把测试数据存放在文件或其它数据源.本文通过介绍及简单示例,使读者了解并能够使用 Feed4JUnit, 方便的实现数据与代码分离的测试.   Feed4JUnit 与 JUnit…
Java单元测试工具:JUnit4(一)--概述及简单例子 Java单元测试工具:JUnit4(二)--JUnit使用详解 Java单元测试工具:JUnit4(三)--JUnit详解之运行流程及常用注解 Java单元测试工具:JUnit4(四)--JUnit测试套件使用及参数化设置…
微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验.求职心得和成长感悟,以及作为程序员的思考和见解.(关注公众号后回复”资料“即可领取 3T 免费技术学习资源) ​ 原文见此处 单元测试是编写测试代码,用来检测特定的.明确的.细颗粒的功能.单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的. 单元测试不仅仅用来保证当前代码的正确性,更重要…
Java单元测试框架 JUnit JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于KentBeck的sUnit的xUnit家族中为最成功的一个. JUnit有它自己的JUnit扩展生态圈.多数Java的开发环境都已经集成了JUnit作为单元测试的工具. 在线Javadoc:http://ww...更多JUnit信息 最近更新: JUnit 4.12 发布,Java 单元测试框架 发布于4个月前 C++模拟测试框架 Google Mock…
Maven  安装     1.把maven安装包解压到某个位置     2.配置M2_HOME环境变量指向这个位置 3.在path环境变量中添加;%M2_HOME%\bin 配置镜像 国内的阿里云镜像比国外中央仓库速度更快 方法: 在当前用户文件夹中,找到.m2,把settings.xml放进去 如果没有.m2,可以在命令行中运行mvn 如果没有settings.xml 从百度搜maven镜像   与Eclipse结合 最新版本的Eclipse自带maven插件,但版本比较低,也没有配置镜像…
最近项目有在写java代码的单元测试,然后在思考一个问题,为什么要写单元测试??单元测试写了有什么用??百度了一圈,如下: 软件质量最简单.最有效的保证: 是目标代码最清晰.最有效的文档: 可以优化目标代码的设计: 是代码重构的保障: 是回归测试和持续集成的基石. 由于开发经验有限,可能说的不太对,但是是我目前的个人的观点,写单元测试,有时候确实可以发现bug,但是发现bug次数很少,而且目前都是项目开发完了,要上线了,公司有80%的覆盖率要求,所以都是后期上线之前补.目前而言,并没有在很认真地…
Java单元测试对于开发人员质量保证至关重要,尤其当面对一团乱码的遗留代码时,没有高覆盖率的单元测试做保障,没人敢轻易对代码进行重构.然而单元测试的编写也不是一件容易的事情,除非使用TDD方式,否则编写出容易测试的代码不但对开发人员的设计编码要求很高,而且代码中的各种依赖也常常为单元测试带来无穷无尽的障碍. 令人欣慰的是开源社区各种优秀的Mock框架让单元测试不再复杂,本文简单介绍EasyMock,PowerMock等的基本常用用法. Mock说白了就是打桩(Stub)或则模拟,当你调用一个不好…
Java单元测试(Junit+Mock+代码覆盖率) 原文见此处 单元测试是编写测试代码,用来检测特定的.明确的.细颗粒的功能.单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的. 单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码修复.改进或重构之后的正确性. 一般来说,单元测试任务包括 接口功能测试:用来保证接口功能的正确性. 局部数据结构测试(不常用):用来保证接口中的数据结构是正确的 比如变量有无初始值 变量是否溢出 边界条件测试 变量没有赋值(即为NULL) 变…
Java+Selenium+TestNG自动化测试框架整合 1.简化代码 封装一个定位元素的类,类型为ElementLocation package com.test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import java.util.concurrent.TimeUnit; /** * 每次定位元素都调用相同的方法 * 将每个方法都封装起来仅供调用 */ public class Elem…
Junit是Java中默认的单元测试框架,通过注解的方式去识别测试方法 JUnit4 JUnit4通过注解的方式来识别测试方法.目前支持的主要注解有: @BeforeClass 全局只会执行一次,而且是第一个运行 @Before 在测试方法运行之前运行 @Test 测试方法 @After 在测试方法运行之后允许 @AfterClass 全局只会执行一次,而且是最后一个运行 @Ignore 忽略此方法 基本测试 新建一个项目叫JUnitTest,我们编写一个Calculator类,这是一个能够简单…
  TestNG,即Testing Next Generation,下一代测试技术,是一套根据JUnit和NUnit思想而构建的利用注释来强化测试功能的一个测试框架,即可以用来做单元测试,也可以用来做集成测试. 安装:Help-->Install New Software 点击Add,在弹出的对话框输入: 点击OK,一路安装即可 TestNG与selenium结合使用 新建Java项目selenium_testng_test 导入selenium和testng类库:项目右键-->Build P…
测试是开发的一个非常重要的方面,可以在很大程度上决定一个应用程序的命运.良好的测试可以在早期捕获导致应用程序崩溃的问题,但较差的测试往往总是导致故障和停机. 虽然有三种主要类型的软件测试:单元测试,功能测试和集成测试,但是在这篇博文中,我们将讨论开发人员级单元测试.在我深入讲述具体细节之前,让我们先来回顾一下这三种测试的详细内容. 软件开发测试的类型 单元测试用于测试各个代码组件,并确保代码按照预期的方式工作.单元测试由开发人员编写和执行.大多数情况下,使用JUnit或TestNG之类的测试框架…
testng的功能很强大,利用@DataProvider可以做数据驱动,数据源文件可以是EXCEL,XML,YAML,甚至可以是TXT文本.在这以XML为例:备注:@DataProvider的返回值类型只能是Object[][]与Iterator[]TestData.xml: <?xml version="1.0" encoding="UTF-8"?> <data> <testmethod1> <input>1<…
 第一步:创建一个java工程,在工程中创建一个被单元测试的Student数据类,代码如下: package com.junittest.yu; public class Student { private String name; private String sex; private int high; private int age; private String school; public Student(String name, String sex ,int high, int a…
Eclipse最基本的模块测试 1:首先创建一个java工程,在工程中创建一个被单元测试的Student数据类,如下: package UnitTest; public class Student { private String name; private String sex; private int high; private int age; private String school; public Student(String name, String sex, int high,…
在有些时候,我们需要对我们自己编写的代码进行单元测试(好处是,减少后期维护的精力和费用),这是一些最基本的模块测试.当然,在进行单元测试的同时也必然得清楚我们测试的代码的内部逻辑实现,这样在测试的时候才能清楚地将我们希望代码逻辑实现得到的结果和测试实际得到的结果进行验证对比. 废话少说,上代码: 首先创建一个java工程,在工程中创建一个被单元测试的Student数据类,如下 package com.phicomme.hu; public class Student { private Stri…
1.为什么要用Junit 做了很多项目,几乎没怎么用过Java的单元测试,是因为它没有用吗?显然不是,是自己的开发方式太不规范!对于大型的软件项目,单元测试不仅有效实用,还非常有必要!它能够测试每个方法是否正确,从而保证由这些单元方法组成的复杂的代码块的正确性,最终有效地减少系统的bug数量和频次. 2.Junit4 之所以之前很少用Junit,是因为单元测试需要做许多额外的工作,比较麻烦.但有一个牛人推出了单元测试包,大大简化了进行单元测试所要做的工作,这就是JUnit4. 3.学习Junit…
在Junit4中还有的测试注解有:  @BeforeClass ,@Before,@Test,@After,@AfterClass 1.其中:@BeforeClass,@AfterClass是Junit4中新添加进去的 2.如果Run as --->Junit Test,运行含有@Test注释的方法是,那么所有注解方法都将被执行,所含的执行顺序是: @BeforeClass ,@Before,@Test,@After,@AfterClass 3.在JUnit4中,如果测试类继承了TestCase…
直接进入正题: 1.TestNG的运行方式如下: With a testng.xml file 直接run as test suite With ant 使用ant From the command line 从命令行 IDE 直接在IDE中执行 在IDEA中直接运行的时候,需要说明的是:可以运行一个测试类,也可以单独运行一个测试的方法. 在IDEA里执行,只需要右键,点击 Run xxx 即可. 如果是在某一个方法的代码块里右键,出现的是 Run methodName ,即只运行当前的方法:…
单元测试概念:最小化测试  比如说你想测试某个类中的一个方法 优点:无须启动整个程序 clipse使用junit教程: (一)配置jar: 1.右键工程选择Build Path 在二级菜单选择 Add Libraies.. 2.选择junit 3.选择junit版本 注意:junit3 不支持注解: 所以在这里我选择junit4 :java注解是什么:可自行百度,不做多论述 (二)创建测试类: 1.在项目中创建一个类 (这个我就不用截图了吧) 导入我们步骤一中的junit.jar 2.编写测试方…
环境准备: 1. Java: Install Java jdk: Version: java 1.8 or aboveConfigure Java Environment Variables:Add JAVA_HOMEAdd CLASSPATHAdd to Path Verify Java was configured: Input javac in CMD can get output successfully. 2. Eclipse https://www.eclipse.org/ Unzi…
什么是单元测试 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的.但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情.所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的测试我们称之为单元测试.传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外…
什么是 Mock 测试 Mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.什么是不容易构造的对象呢?例如HttpServletRequest,需要在有servlet容器环境中创建获取.那不容易获取的对象呢?如一个JedisCluster,需要准备redis相关环境,然后设置进去等等. Mock 可以分解在单元测试中耦合的其他类或者接口,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为. 场景事例 当我们需要测试OrderServi…
1.安装jdk7以上2.http://mirrors.jenkins-ci.org/windows/latest 下载最新的war包3.cmd命令在war包目录下执行:java -jar jenkins.war4.输入http://localhost:8080可以打开jenkins页面5.安装TortoiseSVN,新建文件,打开后空白处右键TortoiseSVN——Create repository here,得到svn目录 file:///D:/test/jenkins/test6.打开sv…
1.Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例的可维护性. PageObject设计模式:是将某个页面的所有"元素(包含控件)属性"及"元素操作"封装在1个类(Class)里面. 2.以我们公司的登录页面为例讲解pom模式: pom的模式就是测试代码和元素定位的分离,保证在元素定位发生改变的时候,不会再去更改测试代…
1.切换浏览器类:其中包含了切换浏览器的方法,以及关闭浏览器,设置等待时间,以及重写的断言方法 package com.rrx.framework; import java.io.IOException;import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium…
本博主很懒,但学习很勤快,一般能从博客园直接转载的东西,本博主绝不动手写,无奈Selenium+java生成的测试报告在百度上搜索..反正我是没有看到.后来才知道TestNG它可以自动生成测试报告,但效果不太直观,下面我们来做一个优化. 一:首先搭建好Selenium+testNG+Maven环境,可参考(当然并不一定用到Maven,看自己喜欢) http://www.cnblogs.com/hc1020/p/8602863.html 二:项目运行后,会在项目路径下生成一个Test-output…