Junit学习笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Gongzq5/article/details/79964971

Study report of JUnit



junit是什么

junit是java的单元测试工具,当前看来最大的作用是无需新建main函数即可验证单一函数,确实是神器,我们可以看一下他的用法。

用法实例

// Hello类
public class Hello {
    public int Add(int a, int b) {
        int c;
        ...
        return c;
    }
}

对于这样一个类,我们不知道我们实现的Add函数是否正确啊,谁知道我的...里的逻辑到底是不是对的呢?
这时候我们可以在Hello类新建一个main函数跑一下这个加法函数,或者新建一个测试类,在类中声明Hello类的一个实例,然后测试Add()方法,这应该是我们的最基本的思路。

现在有了Junit,我们可以换一个思路了,我们来新建一个类HelloTest

import org.junit.Test;
import static org.junit.Assert.assertEquals;
# HelloTest 类
public class HelloTest {
    public Hello instance = new Hello();

    ...

    @Test
    public void addTest() {
        int c = instance.Add(1, 3);
        assertEquals(c, 4);
    }

    ...
}

省略了不少其他的方法,单单留下这个最主要的@Test,这个部分的函数可以用junit单独运行,通过断言,也就判断了是否正确。

其他的

除了@Test,还有不少其他的符号(叫做元数据),分别有不同的意义

符号 意义
@Before 使用了该元数据的方法在每个测试方法执行之前都要执行一次。
@After 使用了该元数据的方法在每个测试方法执行之后要执行一次。
@Test(expected=*.class) 指定错误类型
@Test(timeout=xxx) 如果测试方法在制定的时间之内没有运行完,则测试也失败。
@Ignore 有个可选的String参数,比如@Ignore("还没写这个函数呢")

运行

$ javac –classpath .:junit-4.9.jar HelloWorldTest.java
$ java –classpath .:junit-4.9.jar –ea org.junit.runner.JUnitCore HelloWorldTest
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页