junit 订阅
JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。 [1]  JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。 展开全文
JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。 [1]  JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
信息
优    点
极限编程、重构等
建立者
Kent Beck和Erich Gamma
适用范围
编写和运行可重复的测试
中文名
JUnit
性    质
单元测试框架
特    性
用于共享共同测试数据的测试工具等
junit优点
另外junit是在极限编程和重构(refactor)中被极力推荐使用的工具,因为在实现自动单元测试的情况下可以大大的提高开发的效率,但是实际上编写测试代码也是需要耗费很多的时间和精力的,那么使用这个东西好处到底在哪里呢?笔者认为是这样的:极限编程要求在编写代码之前先写测试,这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑,否则编写的代码很不稳定,那么你需要同时维护测试代码和实际代码,这个工作量就会大大增加。因此在极限编程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,而且编写测试和编写代码都是增量式的,写一点测一点,在编写以后的代码中如果发现问题可以较快的追踪到问题的原因,减小回归错误的纠错难度。重构其好处和极限编程中是类似的,因为重构也是要求改一点测一点,减少回归错误造成的时间消耗。其他情况我们在开发的时候使用junit写一些适当的测试也是有必要的,因为一般我们也是需要编写测试的代码的,可能原来不是使用的junit,如果使用junit,而且针对接口(方法)编写测试代码会减少以后的维护工作,例如以后对方法内部的修改(这个就是相当于重构的工作了)。另外就是因为junit有断言功能,如果测试结果不通过会告诉我们哪个测试不通过,为什么,而如果是像以前的一般做法是写一些测试代码看其输出结果,然后再由自己来判断结果是否正确,使用junit的好处就是这个结果是否正确的判断是它来完成的,我们只需要看看它告诉我们结果是否正确就可以了,在一般情况下会大大提高效率。
收起全文
精华内容
参与话题
问答
  • JUnit

    2019-10-05 23:15:42
    JUnit 是用于编写和运行可重复的自动化测试的开源测试框架,这样可以保证我们的代码按预期工作。JUnit 可广泛用于工业和作为支架(从命令行)或IDE(如 IDEA)内单独的 Java 程序。 2. 第一个 JUnit 单元测试 1. 引入的...

    1. 概述

    JUnit 是用于编写和运行可重复的自动化测试的开源测试框架,这样可以保证我们的代码按预期工作。JUnit 可广泛用于工业和作为支架(从命令行)或IDE(如 IDEA)内单独的 Java 程序。

    2. 第一个 JUnit 单元测试

    1. 引入的依赖

    	   <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
    

    2. 测试代码

    public class TestJUnit {
        @Before
        public void before(){
            System.out.println("在测试之前调用!");
        }
        @Test
        public void test(){
            System.out.println("hello JUnit");
        }
        @After
        public void after(){
            System.out.println("在测试之后调用!");
        }
       
    }
    

    输出:

    在测试之前调用!
    hello JUnit
    在测试之后调用!
    
    

    3. 断言

    • 断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。
    @Test
        public void testAssert() {
            String obj1 = "junit";
            String obj2 = "junit";
            String obj3 = "test";
            String obj4 = "test";
            String obj5 = null;
            int var1 = 1;
            int var2 = 2;
            int[] arithmetic1 = {1, 2, 3};
            int[] arithmetic2 = {1, 2, 3};
            //断言两个值相等
            assertEquals(obj1, obj2);
            //断言,两个对象引用相同的对象
            assertSame(obj3, obj4);
            //断言,两个对象不是引用同一个对象
            assertNotSame(obj2, obj4);
            //断言一个对象不为空(null)
            assertNotNull(obj1);
            //断言一个对象为空(null)
            assertNull(obj5);
            //断言一个条件为真
            assertTrue("为真", var1 == var2);
            //断言预期数组和结果数组相等
            assertArrayEquals(arithmetic1, arithmetic2);
        }
    

    输出:

    var1的值不等于var2的值,所以第6个断言不对。

    junit.framework.AssertionFailedError: 为真
    
    	at junit.framework.Assert.fail(Assert.java:57)
    	at junit.framework.Assert.assertTrue(Assert.java:22)
    	at junit.framework.TestCase.assertTrue(TestCase.java:192)
    	at com.huihui.hello.junit.TestJUnit.testAssert(TestJUnit.java:50)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:483)
    	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
    	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
    	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
    	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
    	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
    	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    	at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
    	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
    
    
    展开全文
  • junit

    2019-09-23 15:40:45
    junit5 API文档 https://junit.org/junit4/javadoc/latest/ 基础使用 junit运行流程 junit注解 junit测试套件 junit参数化

    junit5 API文档

     

     

    https://junit.org/junit4/javadoc/latest/

    基础使用

    junit运行流程

    junit注解

    junit测试套件

     

    junit参数化

    展开全文
  • Junit

    2016-01-20 11:57:35
    Junit是一个java语言的单元测试框架 Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行...

    Junit是一个java语言的单元测试框架

    Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。


    Junit中的部分注解

    A、@Before 注解:与junit3.x中的setUp()方法功能一样,在每个测试方法之前执行;
    B、@After 注解:与junit3.x中的tearDown()方法功能一样,在每个测试方法之后执行;
    C、@BeforeClass 注解:在所有方法执行之前执行;
    D、@AfterClass 注解:在所有方法执行之后执行;


    简单的测试

    import static org.junit.Assert.*;
    
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    
    public class Demo2 {
    
    	@Before
    	public void setUp() throws Exception {
    		System.out.println("setUp()");
    	}
    	@Test
    	public void test1() {
    		System.out.println("test1()");
    	}
    	@Test
    	public void test2() {
    		System.out.println("test2()");
    	}
    	@After
    	public void tearDown() throws Exception {
    		System.out.println("tearDwon");
    	}
    }
    


    import static org.junit.Assert.*;
    
    import org.junit.AfterClass;
    import org.junit.BeforeClass;
    import org.junit.Test;
    
    public class Demo3 {
    
    	@BeforeClass
    	public static void setUpBeforeClass() throws Exception {
    		System.out.println("setUpBeforeClass()");
    	}
    
    	@AfterClass
    	public static void tearDownAfterClass() throws Exception {
    		System.out.println("tearDownAfterCLass()");
    	}
    
    	@Test
    	public void test1() {
    		System.out.println("Test1()");
    	}
    	@Test
    	public void test2() {
    		System.out.println("Test2()");
    	}
    }
    



    展开全文
  • JUNIT

    2005-07-19 17:08:00
    今天使用了JUNIT测试了一下最简单的程序,写点记录吧。第一个是,要把JUNIT的相应的包放在classpath中,然后写一个类,我写的是一个做加法运算的类,最好写在一个包里面,不然好象ECLIPSE会有一个警告,然后点击这个...
         今天使用了JUNIT测试了一下最简单的程序,写点记录吧。第一个是,要把JUNIT的相应的包放在classpath中,然后写一个类,我写的是一个做加法运算的类,最好写在一个包里面,不然好象ECLIPSE会有一个警告,然后点击这个类名,右建--新建--其他--JAVA--JUNIT--测试用例 ,然后可以把setup(),teardown(),打上钩,然后在下一步中把需要测试的类的方法打上钩。自动会生成代码,比如说的类叫AA,那么测试的类就叫做AATest,这个类继承了TestCase这个基类,你测试的方法会叫做testBB,你就往里面填写代码就可以了。然后点击这个测试类,运行JUNIT,就可以看到结果,正常的话是没有结果,错误的话会显示哪里出错。
    展开全文
  • Spring Boot---(11)SpringBoot使用Junit单元测试

    万次阅读 多人点赞 2018-02-02 17:51:18
    摘要:本文详细的记录了SpringBoot如何结合Junit写测试用例,如何执行,打包执行,忽略执行等操作,SpringBoot内置了Junit测试组件,使用很方便,不用再单独引入其他测试组件。 演示环境: SpringBoot + mybatis...
  • junit的jar包

    2015-04-28 11:09:56
    Files contained in junit4-4.8.2.jar: LICENSE.txt META-INF/MANIFEST.MF junit.extensions.ActiveTestSuite.class junit.extensions.RepeatedTest.class junit.extensions.TestDecorator.class junit.extensions...
  • JUnit 4 vs JUnit 5

    千次阅读 2019-10-04 09:56:26
    JUnit5中没有声明任何属性,JUnit Jupiter中的测试扩展是基于它们自己的专用注解来完成的。这样的方法会被继承,除非它们被覆盖。 JUnit 4中基于属性来设置,timeout和exception两个属性 类前置方法 功能描述 ...
  • junit5单元测试

    万次阅读 2019-11-09 23:46:50
    JUnit 5 中,有4个注解你可能会用于如此工作: -@BeforeAll只执行一次,执行时机是在所有测试和 @BeforeEach 注解方法之前。 -@BeforeEach在每个测试执行之前执行。 -@AfterEach在每个测试执行之后执行。 -@After...
  • 用main测试可以,但用junit测试的时候报异常- - java.lang.Error: Unresolved compilation problem: at org.junit.Assert.assertEquals(Assert.java:453) at org.junit.runners.model.TestClass.getOnlyConstructor...
  • swagger junit 冲突报错

    2016-08-17 12:21:20
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable...
  • ``` <modelVersion>4.0.0 ...-- 单元测试 --> →<dependency> 错误提示 Missing artifact junit:junit:jar:${junit.version} 这个是在子项目的中配置pom.xml一直提示这样的错误!我配置的仓库文件全部都有!
  • Junit 测试框架简介   测试框架是最流行的Java单元测试框架。Junit被用来开发对Java类的单元测试。它就是一个类包,提供了各种方法来测试Java类中的方法(method)。  Junit 4 特性 简单的注解,提供书写Junit测试...
  • JUnit免费课程

    千人学习 2015-05-22 00:53:49
    作为单元测试系列的第一门课程,本课程介绍JUnit的使用。通过免费课程的学习,可以掌握Junit的常用的功能。如果想进一步学习,可以学习《Junit收费课程》
  • at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt....
  • import org.junit.Test; import com.jiyun.mybaits.pojo.User; public class JunitTest { @Test private void test1() throws IOException { // TODO Auto-generated method stub String resource = ...
  • JUnit Cookbook

    千次阅读 2008-11-27 09:04:00
    又一篇好文,不转不行。... JUnit CookbookKent Beck, Erich GammaHere is a short cookbook showing you the steps you can follow in writing and organizing your own tests using JUnit. Simple
  • at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt....
  • at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:224) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4...
  • at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt....
  • 我在Java BuildPath 中AddLibrary 中选择Junit时,下拉框里出现了Junit 3 和 Junit4 ,但是下面的Current Path 和Source Path 都是Not Found!上面也显示 The selected JUnit version is not available.求大神指点!...
  • at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68...
  • Junit 4 断言方法允许检查测试方法的期望结果值和真实返回值。Junit的org.junit.Assert类提供了各种断言方法来写junit测试。这些方法被用来检查方法的真实结果值和期望值。下列一些有用的断言方法列表:
  • junit 单元测试事务自动回滚

    万次阅读 2017-06-15 10:25:07
    junit 单元测试事务会自动回滚。通过@Rollback(true)注解来实现,默认是true,事务会回滚,可以不写。false时事务不会回滚,数据会写到数据库中。 实例: package com.xiaolyuh.service; import java.util....
  • at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:301) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.method...
  • Junit 4超时测试可以被用来测试can be used to test execution time of method. Junit 4 Timeout Test can be performed on any single method of class using @Timeout Annotationall methods of class using Time...
  • Junit 4 annotations provide the basic functionality to write junit test. Basic Junit 4 annotations explained in this post are @BeforeClass, @AfterClass, @Before, @After and @Test. @BeforeClass annota

空空如也

1 2 3 4 5 ... 20
收藏数 53,591
精华内容 21,436
关键字:

junit