Junit - 基础篇

简介: Junit - 基础篇

一、理论

  1. 前言



  2. 为什么Junit没有main()方法就能运行(因为我们知道无论是什么程序都必须得有一个程序入口,而它通常是main)?
    答:那么Junit4真的有main方法吗?没错,既然它能直接运行我们的方法,那它必然自己为JVM提供了程序入口。其实在org.junit.runner包下,有个JUnitCore.class,其中就有一个 标准的main方法,这就是JUnit入口函数。如此看来,它其实和我们直接在自己的main方法中跑我们要测试的方法在本质上是一样的。
  3. Runner 故事?
    答:Runner只是一个抽象类,表示用于运行Junit测试用例的工具,通过它可以运行测试并通知Notifier运行的结果。通常我们可以在待测方法所在的类之上使用@RunWith注解来为这个测试类指定一个特定的Runner。不过在很多情况下,我们并没有这么做,那是因为,我们使用了Junit的默认Runnner------BlockJunit4ClassRunner。当我们不为测试类添加@RunWith注解的时候,其实使用的就是这个Runner,它作为默认Runner只为我们提供了基本的基于Junit生命周期的测试注解。而有更多非常规的测试需求,则需要我们为测试类添加@RunWith注解并指定特定的Runner来完成!
  4. 常用注解
    @BeforeClass
    @Before
    @Test(timeout / expected)
    @After
    @AfterClass
    @RunWith
    @SuiteClasses
    @Ignore
    @FixMethodOrder
    @Parameterized
    @Rule
  5. 常用断言
    assertNull
    assertNotNull
    assertEquals
    assertFalse
    assertTrue
    assertSame
    assertNotSame
    assertThat
  6. 待更新...

二、教程

  1. Junit - 测试框架介绍
  2. Junit - Eclipse 教程
  3. Junit - 基础注解(@BeforeClass、@Before、@Test、@After、@AfterClass)
  4. Junit - 断言方法(Assert Methods)
  5. Junit - 参数化测试(Parameterized Test)
  6. Junit - 套件测试(Suite Test)
  7. Junit - 忽略测试(Ignore Test)
  8. Junit - 超时测试(Timeout Test)
  9. Junit - 期望异常测试(Expected Test)
  10. Junit - 优先级测试(FixMethodOrder Test)
  11. 待更新...

三、下载

JUnit4.12 + hamcrest-core-1.3 JAR包下载

目录
相关文章
|
测试技术 Android开发
|
数据格式 XML
|
测试技术 Java
|
IDE Java 测试技术
JUnit 5 简介
著名的Java单元测试框架Junit 4已经出来很长时间了,当时我发现JUnit 5已经处于测试版,就准备写文章来介绍JUnit 5.不过因为还是测试版,所以有些地方还不太完善,我也有点懒没有好好写。
1212 0