Junit4:参数化测试

(注意,我要用官方文档开始刷存在感了…)

Junit通过自定义runner——Parameterized来实现参数化测试,参数化测试主要用于需要重复测试不同条件的场景,举个栗子:

public class Fibonacci {
    public static int compute(int n) {
        int result = 0;

        if (n <= 1) {
            result = n;
        }[......]

Read more

Posted in 译文 | Tagged | Leave a comment

Junit4:测试方法执行顺序

(注意,我要用官方文档开始刷存在感了…)

在之前的版本中,Junit在设计上并没有指定测试方法的执行顺序,方法的调用就是根据reflection api的返回顺序。鉴于Java平台并没有规定一个特定的顺序,甚至其返回的顺序有一定的随机性,依赖于JVM的顺序非常的不明智。

 

当然,编写良好的测试用例是不应该依赖于测试方法的执行顺序的。但万一存在这样的情况呢?这个时候“确定顺序”带来的可预测的测试失败总是好过随机的测试失败。

 

从4.11版本开始[......]

Read more

Posted in 日常文章 | Tagged | Leave a comment

Junit4:异常测试

(注意,我要用官方文档开始刷存在感了…)

有些时候,单元测试中需要验证抛出的异常是否是期望得到的,抑或验证抛出异常的message等信息。

这如果是在junit3,一般会通过try catch来处理,在catch中判断异常类型,抑或比较message值。

当然,这一点都不优雅,不但要多谢许多代码,测试用例中充斥的try catch也非常不好看。到了junit4,junit提供了新的方式来支持异常测试。

 

<1> 在@Test中通过expe[......]

Read more

Posted in 日常文章 | Tagged | Leave a comment