zoukankan      html  css  js  c++  java
  • junit浅学笔记三

    这一节我们将学习进行批量处理,假如我们有多的测试,怎样进行批量处理,请跟着我做。

    ---------------------------------------------

    假如我们写了两个被测程序。如下:

    T.java

    package com.junit4.cc;

    publicclass T {
    publicint add(int x ,int y){
    return x+y;
    }
    publicstaticvoid main(String args[]){
    int z=new T().add(3,5);
    System.out.println(z);
    }
    }

    User.java

    package com.junit4.cc;

    publicclass User {
    public String geName(){
    return"刘若英"; //PS:她是我的偶像嘻嘻:)
    }
    }

    ------------------------------------测试类-------------------------

    下面要对上面的两个类写测试类。(关于测试类的创建的方法,不懂的可以看我的第一篇《junit浅学笔记一》)

    TTest.java   对应的是T.java的测试类。

    package com.junit4.cc.test;

    importstatic org.junit.Assert.*;

    import org.junit.Test;
    import com.junit4.cc.*;

    publicclass TTest {
    @Test
    publicvoid testAdd() {
    int z=new T().add(5,3);
    assertEquals(
    8,z);
    }
    }

    UserTest.java  对应的是User.java

    package com.junit4.cc.test;

    importstatic org.junit.Assert.*;

    import org.junit.Test;
    import com.junit4.cc.User;

    publicclass UserTest {

    @Test
    publicvoid testGeName() {
    assertEquals(
    new User().geName(),("刘若英"));
    }
    }

    完成之后的列表如下:

    要批量运行上面两个测试类,有两个方法。

    方法一

    右键点击测试包“com.junit4.cc.test”--->Run As--->Run Configurations.

    这种方式设置简单,但灵活度不高,假如有100个测试类。我只想运行其中的某几个测试类。下面看第二中方式。

    方法二

    方法引入一种“测试套件”的概念,JUnit提供了一种批量运行测试类的方法,叫测试套件。

      测试套件的写法需要遵循以下原则:

      1. 创建一个空类作为测试套件的入口;

      2. 使用注解 org.junit.runner.RunWith 和 org.junit.runners.Suite.SuitClasses 修饰这个空类

      3. 将org.junit.runners.Suite作为参数传入给注解RunWith,以提示Junit为此类测试使用套件运行器执行。

      4. 将需要放入此测试套件的测试类组成数组作为注解SuiteClasses的参数

      5. 保证这个空类使用public修饰,而且存在公开的不带任何参数的构造函数

    下面在测试包(com.junit4.cc.test)下面创建一个测试类,内容如下:

    AllTest.java

    package com.junit4.cc.test;


    import org.junit.runner.RunWith;
    import org.junit.runners.Suite;
    import org.junit.runners.Suite.SuiteClasses;
    @RunWith(Suite.
    class)
    @SuiteClasses({
    TTest.
    class,
    UserTest.
    class //这里自由加入需要运行的测试类
    })
    publicclass AllTest {

    }

    创建之后的列表:

    运行AllTest.java的结果(这里,两个方法的运行结果是一样的):

    ps:关于两种方式的比较,第一种方法简单,只用选择测试包,就可以批量运行里面的所有测试程序。第二种方式还有重新创建一个测试类,但它非常灵活,只用在这个类中加入需要运行的类就可以灵活的运行需要测试的类。

  • 相关阅读:
    LeetCode "Median of Two Sorted Arrays"
    LeetCode "Distinct Subsequences"
    LeetCode "Permutation Sequence"

    LeetCode "Linked List Cycle II"
    LeetCode "Best Time to Buy and Sell Stock III"
    LeetCode "4Sum"
    LeetCode "3Sum closest"
    LeetCode "3Sum"
    LeetCode "Container With Most Water"
  • 原文地址:https://www.cnblogs.com/fnng/p/2166501.html
Copyright © 2011-2022 走看看