`
l4432848
  • 浏览: 255371 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

-单元测试框架-Junit

    博客分类:
  • java
 
阅读更多

1.Junit注解

Junit3和junit4的区别 。 测试:白盒、黑盒测试,黑盒:很多时候都是黑盒,站在用户角度去使用功能,面向需求的方式,只要测功能怎么使用。

白盒测试:经过代码的方式来测试,测试逻辑、耗时、功能、等,拆开源码来测试,对里面的功能一个一个测试,一般由开发人员来测试。

Junit测试在企业中一般用的少,比较麻烦写测试用例,小型、中型项目一般【学Java,到凯哥学堂kaige123.com】黑盒测试、不测性能,只测试功能、使用。但是大型项目就一定要进行白盒测试,全方面测试,性能这些都要测试,耗时之类的都要测试。每个逻辑块都要测试性能,比如300ms之内要完成的,如果超过了,就不标准了。

严格的项目要写测试用例,每个功能都要写个测试用例去测试一下。

我们写逻辑代码来测试一下:junit测试可以分为很多条线路测试,一个方法就是一条线路,每条线路基本上是不会相关联的。比如你的前面的一条测试线路出错了,并不会影响到下一条线路的正常进行。

image

image

image

如上图所示,有两条线路,两个方法,线路1有异常不会影响线路2大的运行。

image

这是没有出错,就不会抛异常。

Junit里面有一个之前调用和之后调用@Before和@After,这就是之前调用和之后调用。怎么使用这两个东西?

之前调用可以用来提前创建需要测试的类的对象、打开相应的资源之类的,而之后调用可以用来销毁已经测试了的类的资源等。

image

如上图所示的代码,就是使用之前调用和之后调用。 要注意,不同的线路、方法不要互相调用,不要让它们产生互相关联,比如你的方法1里面调用方法2,万一测试的时候,其中一个方法出错了,就会影响另一个方法的调用了。

如果我们有两个测试类去测试一个逻辑类,我们可以两个测试类一起调用运行吗?

可以,要用到组合注解才可以让两个类一起运行:

image

上图是第二个测试类的代码,我们怎么把两个测试类组合合并起来一起运行呢?

首先,我们先创建一个类,然后使用合并注解@Runwith(Suite.class)@SuiteClasses({TestService.class,TestService2.class}),代码:

image

如上图,我们的两个测试类都被调用了。可以一次性把很多个测试类运行起来的组合测试。

另外,上面都是用来测试正确情况的,我们也要测一下出错的情况,@Test(expected=UserNameException)@Test(expected=PassWordException):

image

如上图,我们的两个方法,在给了错误用户名和错误密码后,成功的把对应的异常抛出来了,所以这连个测试用例应该是正确的。

expected是专门用来测试异常发生的,如果账户密码不对,要发生了才没有问题。

image

如上图所示,就是超时了,所以会报错,有些程序对程序的运行时间也是有要求的,如果你的程序没有在规定的时间内运行完成,说明程序是成功的 。 多方面都要考虑考虑,正确性、异常等、运行时间这些都应该测试一下。

Assert,无论junit3还是junit4都是有这个东西的。主要是用来判断逻辑值的。如方法:Assert.assertTrue(逻辑表达式),如果里面的表达式是true,则用junit test的时候是通过的,如果表达式是false,则会抛出异常,如:

image

image

结果如图,注意这里是failure而不是error,这就是逻辑错误了。也有Assert.assertFalse(逻辑表达式),这里是用来判断逻辑是不是false的,如果是false则junit test通过,如果是true则是failure了,如:

image

image

还有出错时可以写一句话的情况,如下:

image

image

还有比较数组是不是一样的逻辑比较,如下:

image

image

其中,这里的数组类型可以更换为其他类型的,同样是这种比较方法。

还有不相等比较:

image

还有判断不能为空的:

image

还有比较两个对象的内存地址的:

image

image

还有专门用来抛错误的fail(),如下:

image

以后我们验证代码的逻辑的时候,我们可以直接使用Assert类里面提供的各种各样的静态方法,就不用自己去写判断逻辑是否正确的代码了。

Junit3的里面的Assert也可以使用的,只要把测试类继承一下TestCase类就行了。

image

image

Hamcrest,这个jar包,也是一个框架,专门用来做逻辑匹配,非常灵活的。

可以联合多个条件一起判断,而assert只能判断一个条件。具体的使用方法,需要联合assertThat(actual,matcher)来进行使用。

image

image

image

image

还有一个allof必须全部都满足,就是括号里面的条件都满足才可以,如:

image

image

image

只要里面的endsWith不通过,那整个判断的结果就是错的,就会有failure

image

还有一个anyOf就是只要条件中只要有一个满足就能通过,只有两个都不满足时才会不通过:

image

image

0
0
分享到:
评论

相关推荐

    单元测试框架系列之单元测试框架系列之-JUnit.pdf

    单元测试框架系列之单元测试框架系列之-JUnit.pdf

    基于java的开发源码-junit4 jar包 Java单元测试框架绿色免费版.zip

    基于java的开发源码-junit4 jar包 Java单元测试框架绿色免费版.zip 基于java的开发源码-junit4 jar包 Java单元测试框架绿色免费版.zip 基于java的开发源码-junit4 jar包 Java单元测试框架绿色免费版.zip 基于java的...

    JUnit--单元测试工具

    初识JUnit单元测试框架 单元测试工具 示例:在Eclipse中使用JUnit4进行单元测试 JUnit 框架 JUnit几个核心类及接口 Assert 超类所提供的8个核心方法 TestCase提供了10个自己的方法 JUnit4.X 版本与以前版本的区别

    Junit4单元测试必备入门教程

    JUnit是一个流行的单元测试框架,它可以帮助开发者快速地编写和执行单元测试。 JUnit4的改进 ------------ JUnit4相比于JUnit3有了很大的改进。主要的改进点是引入了Annotation特性,简化了测试用例的编写。使用...

    junit-4.13.2的压缩包,JUnit是Java编程语言的单元测试框架,用于编写和可重复运行的自动化测试

    JUnit是Java编程语言的单元测试框架,用于编写和可重复运行的自动化测试。JUnit4通过注解的方式来识别测试方法。目前支持的主要注解有(下列注解标示了单元测试的不同运行阶段执行的代码): @BeforeClass 全局只会...

    软件测试实验-JUnit单元测试.pdf

    JUnit是一个开源的Java编程语言的单元测试框架,由Erich Gamma和Kent Beck编写。JUnit测试是一种白盒测试工具,具有JUnit经验对于应用“测试驱动开发(TDD)”的程序开发模型是非常重要的。 在本实验中,我们将学习...

    junit-4.12.jar+hamcrest-core-1.3.jar JUnit单元测试必备jar包

    JUnit是一个开源的、基于Java语言的单元测试框架,由Ernst Leimer和Kent Beck在1997年创建。JUnit 4.12是其一个稳定版本,提供了丰富的断言方法,用于验证代码行为是否符合预期。它引入了注解(Annotations)机制,...

    junit-4.12.jar下载

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。这里我们关注的是`junit-4.12.jar`版本,这是一个重要的里程碑,因为它带来了许多改进和新特性。让我们深入...

    Junit 单元测试完整案例

    Junit作为Java领域最常用的单元测试框架,为开发者提供了简单易用的API来进行测试。本案例涵盖了Spring和Struts两大框架的单元测试,旨在帮助开发者掌握如何对这两个流行的Java Web框架进行有效的测试。 一、Junit...

    Junit单元测试所需要的两个jar包

    JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。 2 单元测试概念 单元:在Java中,一个类就是一个单元 单元测试:...

    struts2-junit-plugin-2.1.6.jar

    JUnit是一款广泛使用的Java编程语言的单元测试框架。通过JUnit,开发者可以编写自动化测试用例,快速检查代码的功能是否正确。`struts2-junit-plugin-2.1.6.jar`这个插件使得我们能够在JUnit环境中对Struts2的应用...

    ant-junit-1.7.0.jar.zip

    在软件开发过程中,测试是不可或缺的一环,而JUnit作为Java语言中最常用的单元测试框架,为开发者提供了便利。同样,Apache Ant作为一款强大的构建工具,帮助开发者自动化执行各种任务。当这两者结合时,能更有效地...

    junit单元测试jar包集

    **JUnit** 是Java领域中最广泛使用的单元测试框架,这里的`junit-4.11.jar`是它的4.11版本。JUnit提供了编写和运行可重复的测试用例的API。它支持注解(如@Test)来标记测试方法,断言(如assertEquals)来验证结果...

    junit4 jar包 Java单元测试框架绿色免费版.zip

    JUnit4是Java编程语言中最广泛使用的单元测试框架之一,它为开发者提供了一种方便、高效的方式来验证代码的正确性。这个“junit4 jar包 Java单元测试框架绿色免费版.zip”文件包含的是JUnit4框架的可执行jar包,用于...

    JUnit单元测试框架 张明生PPT课件.pptx

    JUnit 单元测试框架 JUnit 是 Java 中开发单元测试的框架标准,由 Erich Gamma 和 Kent Beck 创建。它支持测试代码的独立,是 XP 编程思想的体现。JUnit 已经 13 岁了,是一个简单但有效的单元测试框架,世界上无数...

    实验5 JUnit测试框架的使用.doc

    JUnit 是一个流行的单元测试框架,广泛应用于 Java 项目中,本文将详细介绍 JUnit 测试框架的使用,并提供了两个示例来帮助读者更好地理解和掌握 JUnit 的使用。 一、JUnit 测试框架的使用 为了使用 JUnit 测试...

    软件测试实验3--Junit单元测试.docx

    Junit是Java编程语言中最常用的单元测试框架,它为开发者提供了一种方便的方式来验证他们的代码是否按照预期工作。本实验旨在让学习者深入了解Junit的作用,以及如何在Eclipse集成开发环境中运用Junit进行单元测试。...

    junit-4.13.2的压缩包,直接下载到本地解压后即可使用

    Junit是Java编程语言中最广泛使用的单元测试框架之一,它为开发者提供了一种方便、高效的方式来验证代码的正确性。Junit-4.13.2是该框架的一个特定版本,它包含了各种改进和修复,以提升测试的稳定性和效率。在本篇...

    junit-4.12.jar包 单元测试框架 java语言

    junit-4.12.jar,用户测试所写的方法 JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中为最成功的一个。 JUnit有它自己的JUnit扩展生态圈。

    ant-junit-1.6.1.jar.zip

    在软件开发过程中,测试是不可或缺的一环,而JUnit作为Java语言中最常用的单元测试框架,为开发者提供了便利。同样,Apache Ant作为自动化构建工具,对于项目管理起到了重要作用。当我们谈到“ant-junit-1.6.1.jar....

Global site tag (gtag.js) - Google Analytics