精华内容
参与话题
问答
  • junit常用注解说明

    2019-05-28 17:05:05
    junit常用注解有@Test、@Ignore、@BeforeClass、@AfterClass、@Before、@After、@Runwith、@Parameters 以下是相关的介绍和使用说明: 在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有的...
    Java注解((Annotation)的使用方法是@注解名 ,能通过简单的词语来实现一些功能。在junit中常用的注解有@Test、@Ignore、@BeforeClass、@AfterClass、@Before、@After、@Runwith、@Parameters
    以下是相关的介绍和使用说明:
    在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有的测试类必须继承junit的测试基类。在junit4中,定义一个 测试方法变得简单很多,只需要在方法前加上@Test就行了。
    注意:测试方法必须是public void,即公共、无返回数据。可以抛出异常。
    有时候我们想暂时不运行某些测试方法\测试类,可以在方法前加上这个注解。在运行结果中,junit会统计忽略的用例数,来提醒你。但是不建议经常这么做,因为这样的坏处时,容易忘记去更新这些测试方法,导致代码不够干净,用例遗漏。 当我们运行几个有关联的用例时,可能会在数据准备或其它前期准备中执行一些相同的命令,这个时候为了让代码更清晰,更少冗余,可以将公用的部分提取出来,放在一个方法里,并为这个方法注解@BeforeClass。意思是在测试类里所有用例运行之前,运行一次这个方法。例如创建数据库连接、读取文件等。
    注意:方法名可以任意,但必须是public static void,即公开、静态、无返回。这个方法只会运行一次。
    展开全文
  • Junit4常用注解

    2016-01-28 16:15:31
    借助Java 5 注释,JUnit 4 比从前更轻(量级),也更加灵活。JUnit 4 放弃了严格的命名规范和继承层次,转向了一些令人激动的新功能。下面是一份关于 JUnit 4 新功能的快速列表: l 参数测试 l 异常测试 l ...

    借助Java 5 注释,JUnit 4 比从前更轻(量级),也更加灵活。JUnit 4 放弃了严格的命名规范和继承层次,转向了一些令人激动的新功能。下面是一份关于 JUnit 4 新功能的快速列表:

    l  参数测试

    l  异常测试

    l  超时测试

    l  灵活固件

    l  忽略测试的简单方法

    l  对测试进行逻辑分组的新方法。

    让我们来一个一个整理。兵马未动,注解先行。注解先行之前,公共资源也要都要先准备好。我们现在before,after,beforeClass,afterClass开始。

    1,Fixture相关注解:

    何谓Fixture?汉语翻译就是:

    设备;固定装置;固定于某处不大可能移动之物。

    它是指在执行一个或者多个测试方法时需要的一系列公共资源或者数据,例如测试环境,测试数据等等。在编写单元测试的过程中,我们会发现在大部分的测试方法在进行真正的测试之前都需要做大量的铺垫——为设计准备 Fixture 而忙碌。这些铺垫过程占据的代码往往比真正测试的代码多得多,而且这个比率随着测试的复杂程度的增加而递增。当多个测试方法都需要做同样的铺垫时,重复代码的“坏味道”便在测试代码中弥漫开来。这股“坏味道”会弄脏我们的代码,还会因为疏忽造成错误,应该使用一些手段来根除它。
    JUnit 专门提供了设置公共 Fixture 的方法,同一测试类中的所有测试方法都可以共用它来初始化 Fixture 和注销 Fixture。和编写 JUnit 测试方法一样,公共 Fixture 的设置也很简单,我们只需要:
    1),使用注解 org.junit.Before 修饰用于初始化 Fixture 的方法。
    2),使用注解 org.junit.After 修饰用于注销 Fixture 的方法。
    和普通的测试方法一样,保证这两种方法都使用 public void 修饰,而且不能带有任何参数。遵循上面的三条原则,编写出的代码大体是这个样子:
    //初始化Fixture方法
    @Before 
    public void setUp(){……}
    
    //注销Fixture方法
    @After 
    public void tearDown(){……}
    这样,在每一个测试方法执行之前,JUnit 会保证setUp方法已经提前初始化测试环境,而当此测试方法执行完毕之后,JUnit 又会调用tearDown方法注销测试环境。注意是每一个测试方法的执行都会触发对公共 Fixture 的设置,也就是说使用注解 Before 或者 After 修饰的公共 Fixture 设置方法是方法级别的(setUp-->test1-->tearDown-->setUp-->test2-->teatDown。。。)。这样便可以保证各个独立的测试之间互不干扰,以免其它测试代码修改测试环境或者测试数据影响到其它测试代码的准确性。
     
    可是,这种 Fixture 设置方式还是引来了批评,因为它效率低下,特别是在设置 Fixture 非常耗时的情况下(例如设置数据库链接)。而且对于不会发生变化的测试环境或者测试数据来说,是不会影响到测试方法的执行结果的,也就没有必要针对每一个 测试方法重新设置一次 Fixture。因此在 JUnit 4 中引入了类级别的 Fixture 设置方法,编写规范如下:
    1),使用注解 org.junit.BeforeClass 修饰用于初始化 Fixture 的方法。
    2),使用注解 org.junit.AfterClass 修饰用于注销 Fixture 的方法。
    保证这两种方法都使用 public static void 修饰,而且不能带有任何参数。类级别的 Fixture 仅会在测试类中所有测试方法执行之前执行初始化,并在全部测试方法测试完毕之后执行注销方法(init-->test1-->test2-->destroy)。代码范本如下:
    //类级别Fixture初始化方法
    @BeforeClass 
    public static void init(){……}
        
    //类级别Fixture注销方法
    @AfterClass 
    public static void destroy(){……}


    2,Test相关注解:

    OK,现在重点来了,我们研究下Test注解。

    毫无疑问的,和3.8版本的junit一样,测试方法必须是public void的,并且不带任何参数。然后我们用@Test注解来修饰这个方法,就表示这个方法是一个测试方法了。这个不在赘述了。

    关于这个注解我主要是想介绍下@Test注解的异常测试和时间测试。

    1),注解 org.junit.Test 中有两个非常有用的参数:expected 和timeout。参数 expected 代表测试方法期望抛出指定的异常,如果运行测试并没有抛出这个异常,则 JUnit 会认为这个测试没有通过。这为验证被测试方法在错误的情况下是否会抛出预定

    的异常提供了便利。举例来说,方法 supportDBChecker 用于检查用户使用的数据库版本是否在系统的支持的范围之内,如果用户使用了不被支持的数据库版本,则会抛出运行时异常 UnsupportedDBVersionException。测试方法 

    supportDBChecker 在数据库版本不支持时是否会抛出指定异常的单元测试方法大体如下:

    @Test(expected=UnsupportedDBVersionException.class)
    	public void unsupportedDBCheck(){
    		……
    }
    

    2),注解 org.junit.Test 的另一个参数 timeout,指定被测试方法被允许运行的最长时间应该是多少,如果测试方法运行时间超过了指定的毫秒数,则JUnit认为测试失败。这个参数对于性能测试有一定的帮助。例如,如果解析一份自定义的 XML 文档花费了多于 1 秒的时间,就需要重新考虑 XML 结构的设计,那单元测试方法可以这样来写:

    @Test(timeout=1000)
    	public void selfXMLReader(){
    		……
    }
    


    OK,常用的注解基本就是这几个,现在来写一个例子,演示一下这些常用注解的用法。

    package test.junit4test;
    
    import static org.junit.Assert.*;
    
    import org.junit.After;
    import org.junit.AfterClass;
    import org.junit.Before;
    import org.junit.BeforeClass;
    import org.junit.Test;
    
    public class LinkinTest
    {
    	@BeforeClass
    	public static void init()
    	{
    		System.out.println("====这里是类级别的初始化方法。。。");
    	}
    
    	@AfterClass
    	public static void destroy()
    	{
    		System.out.println("====这里是类级别的销毁方法。。。");
    	}
    
    	@Before
    	public void setUp()
    	{
    		System.out.println("==这里是方法级别的初始化方法。。。");
    	}
    
    	@After
    	public void tearDown()
    	{
    		System.out.println("==这里是方法级别的销毁方法。。。");
    	}
    
    	@Test
    	public void testLinkin1()
    	{
    		assertTrue(true);
    		System.out.println("这里是普通测试方法一。。。");
    	}
    
    	@Test
    	public void testLinkin2()
    	{
    		assertTrue(true);
    		System.out.println("这里是普通测试方法二。。。");
    	}
    
    	@Test(expected = NullPointerException.class)
    	public void testLinkin3()
    	{
    		System.out.println("这里是异常的测试方法。。。");
    		String linkin = null;
    		System.out.println(linkin.toString());
    	}
    
    	@Test(timeout = 1000)
    	public void testLinkin4()
    	{
    		try
    		{
    			Thread.sleep(2);
    		}
    		catch (Exception e)
    		{
    			e.printStackTrace();
    			fail("时间测试不通过。。。");
    		}
    		finally
    		{
    			System.out.println("这里是测试代码运行时间。。。");
    		}
    	}
    
    }
    
     
    OK,测试通过。

    展开全文
  • @before:所有测试方法之前都要测试方法之前都要执行这个方法 @after:所有测试方法之后都要执行的方法 @BeforeClass:表示在类中的任意public static ...@Test:使用该注解标注的public void方法会表示为一个测试方法...

    @before:所有测试方法之前都要测试方法之前都要执行这个方法

    @after:所有测试方法之后都要执行的方法

    @BeforeClass:表示在类中的任意public static void方法执行之前执行

    @AfterClass:表示在类中的任意public static void方法执行之后执行

    @Test:使用该注解标注的public void方法会表示为一个测试方法

    展开全文
  • junit常用注解有@Test、@Ignore、@BeforeClass、@AfterClass、@Before、@After、@Runwith、@Parameters 以下是相关的介绍和使用说明: 一.@Test 在junit3中,是通过对测试类和测试方法的命名来...
    Java注解((Annotation)的使用方法是@注解名 ,能通过简单的词语来实现一些功能。在junit中常用的注解有@Test、@Ignore、@BeforeClass、@AfterClass、@Before、@After、@Runwith、@Parameters
     
    以下是相关的介绍和使用说明:
     
    一.@Test
     
    在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有的测试类必须继承junit的测试基类。在junit4中,定义一个 测试方法变得简单很多,只需要在方法前加上@Test就行了。
     
    注意:测试方法必须是public void,即公共、无返回数据。可以抛出异常。
     
    二.@Ignore
     
    有时候我们想暂时不运行某些测试方法\测试类,可以在方法前加上这个注解。在运行结果中,junit会统计忽略的用例数,来提醒你。但是不建议经常这么做,因为这样的坏处时,容易忘记去更新这些测试方法,导致代码不够干净,用例遗漏。
     
    三.@BeforeClass
     
    当我们运行几个有关联的用例时,可能会在数据准备或其它前期准备中执行一些相同的命令,这个时候为了让代码更清晰,更少冗余,可以将公用的部分提取出来,放在一个方法里,并为这个方法注解@BeforeClass。意思是在测试类里所有用例运行之前,运行一次这个方法。例如创建数据库连接、读取文件等。
     
    注意:方法名可以任意,但必须是public static void,即公开、静态、无返回。这个方法只会运行一次。
     
    四.@AfterClass
     
    跟@BeforeClass对应,在测试类里所有用例运行之后,运行一次。用于处理一些测试后续工作,例如清理数据,恢复现场。
     
    注意:同样必须是public static void,即公开、静态、无返回。这个方法只会运行一次。
     
    五.@Before
     
    与@BeforeClass的区别在于,@Before不止运行一次,它会在每个用例运行之前都运行一次。主要用于一些独立于用例之间的准备工作。比如两个用例都需要读取数据库里的用户A信息,但第一个用例会删除这个用户A,而第二个用例需要修改用户A。那么可以用@BeforeClass创建数据库连接。用@Before来插入一条用户A信息。
     
    注意:必须是public void,不能为static。不止运行一次,根据用例数而定。
     
    六.@After
     
    与@Before对应。
     
    七.@Runwith
     
    首先要分清几个概念:测试方法、测试类、测试集、测试运行器。
     
    其中测试方法就是用@Test注解的一些函数。测试类是包含一个或多个测试方法的一个**Test.java文件,测试集是一个suite,可能包含多个测试类。测试运行器则决定了用什么方式偏好去运行这些测试集/类/方法。
     
    而@Runwith就是放在测试类名之前,用来确定这个类怎么运行的。也可以不标注,会使用默认运行器。
     
    常见的运行器有:
     
    1. @RunWith(Parameterized.class) 参数化运行器,配合@Parameters使用junit的参数化功能
     
    2.@RunWith(Suite.class)
    @SuiteClasses({ATest.class,BTest.class,CTest.class})
     
    测试集运行器配合使用测试集功能
     
    3.@RunWith(JUnit4.class)
     
    junit4的默认运行器
     
    4.@RunWith(JUnit38ClassRunner.class)
     
    用于兼容junit3.8的运行器
     
    5.一些其它运行器具备更多功能。例如@RunWith(SpringJUnit4ClassRunner.class)集成了spring的一些功能
     
    八:@Parameters
     
    用于使用参数化功能。

     

    转载于:https://www.cnblogs.com/qlqwjy/p/8441080.html

    展开全文
  • Junit常用注解 @Test 将一个普通方法修饰成一个测试方法,必须是public修饰的 @Test(excepted=xx.class): xx.class表示异常类,表示测试的方法抛出此异常时,认为是正常的测试通过的 @Test(timeout=毫秒数):测试方法...
  • JUnit5常用注解解析(一)

    千次阅读 2018-04-28 23:39:23
    1、简介 JUnit5有别与之前的版本,进行了模块化,它由几个不同的模块组成,这些模块分别来自三个不同的子项目: JUnit5 = JUnit Platform + JUnit Jupiter + JUnitVintage Junit Platform是在JVM上启动测试...
  • junit常用注解

    2018-07-27 20:54:37
    JUnit4 使用 Java 5 中的注解(annotation),以下是JUnit4 常用的几个annotation介绍 @Before:初始化方法 @After:释放资源 @Test:测试方法,在这里可以测试期望异常和超时时间 @Ignore:忽略的测试方法 @...
  • JUnit 4 开始使用 Java 5 中的注解(annotation),常用的几个 annotation 介绍: @BeforeClass:针对所有测试,只执行一次,且必须为static void @Before:初始化方法 @Test:测试方法,在这里可以测试期望异常和...
  • 按照方法的名字(字典顺序)顺序去执行:@FixMethodOrder(MethodSorters.NAME_ASCENDING),在测试用例类名前一行添加 要测试的方法:@Test,在要测试的方法名前一行添加 测试过,不想再测的方法:@Ignore,在@Test...
  • Junit常用注解

    2020-02-23 22:22:30
    Junit注解 注解 描述 @Test public void method( ) 测试注释指示该公共无效方法它所附着可以作为一个测试用例。 @Before publci void method( ) Before 注释表示,该方法必须在类中的每个测试之前执行,...
  • JUnit常用注解

    2020-09-01 18:52:33
    首先以Junit4为基础介绍常用注解: 常用的JUnit注解包括@BeforeClass、@AfterClass、@Before、@After、@Test、@Ignore等。 它们得到了每个测试用例的运行次序,即:@BeforeClass–>@Before–>@Test–>@...
  • 1. 能被自动注册解析解析的参数 Junit5中扩展定义了ParameterResolver,它可以在运行时动态解析参数。如果一个测试的构造函数或者测试@Test、@BeforeEach、@BeforeAll等方法接收参数,这个参数必须被已注册的...
  • JUnit5常用注解 注解 描述 @Test 表示方法是一种测试方法。与 JUnit 4 的@Test 注解不同,此注释不会声明任何属性 @BeforeEach 表示方法在每个测试方法运行前都会运行 @AfterEach 表示方法在每个测试...
  • JUnit4常用注解

    2019-06-29 17:49:26
    一、JUnit4常用注解 (1)@Test:将一个方法标记为测试方法; (2)@Before:每一个测试方法调用前必执行的方法; (3)@After:每一个测试方法调用后必执行的方法; (4)@BeforeClass:所有测试方法调用前...
  • JUnit4 与 JUnit 5 常用注解对比

    万次阅读 多人点赞 2018-06-06 10:51:16
    JUnit4 与 JUnit 5 常用注解对比|JUnit4|JUnit5|说明||-|-|-||@Test|@Test|表示该方法是一个测试方法。JUnit5JUnit 4的@Test注解不同的是,它没有声明任何属性,因为JUnit Jupiter中的测试是基于它们自己的专用...
  • Junit单元测试、Junit常用注解

    千次阅读 2018-08-16 23:47:09
    1.1 Junit的概述: Junit是一个java语言的单元测试框架,简单理解为可以取代java的main方法。Junit属于第三方工具,一般情况下需要导入jar包。不过,多数java开发环境(如IntelliJ IDEA )已经集成了junit作为...
  • JUnit5常用注解

    2019-09-25 20:28:44
    maven依赖 <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-commons</artifactId> <version>1....
  • junit常用注解

    2015-12-23 10:44:02
    1. 说明 @Before 初始化方法 @After 释放资源 @Test 测试方法,在这里可以测试期望异常和超时时间 @Ignore 忽略的测试方法 ...针对所有测试,只执行一次,且必须为static void
  • junit常用注解有@Test、@Ignore、@BeforeClass、@AfterClass、@Before、@After、@Runwith、@Parameters   以下是相关的介绍和使用说明:   一.@Test   在junit3中,是通过对测试类和测试方法的

空空如也

1 2 3 4 5 ... 20
收藏数 18,672
精华内容 7,468
关键字:

junit常用注解