头歌Junit实训进阶篇:命令行下进行Junit测试

任务描述

补全TestRunner.java中的代码,如果测试类JunitSubTest.java中的测试都通过,则main函数会打印true。

环境配置

环境配置:Linux主机+JDK 1.8+Junit 4.12。

首先确保自己在linux主机装好了java环境,配置好环境变量。

然后下载两个jar包:

junit 4.12 :Release JUnit 4.12 · junit-team/junit4 · GitHub

hamcrest-core-1.3.jar : http://central.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar

让后把这两个包放到jdk安装的lib目录下,本机的JDK安装目录如下:

/home/soft/jdk1.8.0_111/lib# ls
amd64 hamcrest-core-1.3.jar jexec packager.jar
ant-javafx.jar ir.idl junit-4.12.jar sa-jdi.jar
ct.sym javafx-mx.jar missioncontrol tools.jar
dt.jar jconsole.jar orb.idl

然后修改本机环境变量,

vim ~/.bashrc

修改成如下:

export JAVA_HOME=/home/soft/jdk1.8.0_111
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/junit-4.12.jar:$JAVA_HOME/lib/hamcrest-core-1.3.jar:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

这里着重看下CLASSPATH,JAVA_HOME和PATH如果设置过,就不用修改了。

然后

source ~/.bashrc 

让环境变量生效。

新建两个java文件:Calculate.java和CalculateTest.java。

//Calculate.java
package com.trustie.junitest;
public class Calculate {
    public int sum(int var1, int var2) {
        System.out.println("相加的值是: " + var1 + " + " + var2);
        return var1 + var2;
    }
    public static void main(String[] args) {
        System.out.println("hh");  
    }
}
//CalculateTest.java
package com.trustie.test;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import com.trustie.junitest.Calculate;
public class CalculateTest {
    Calculate calculation = new Calculate();
    int sum = calculation.sum(2, 5);
    int testSum = 7;
    @Test
    public void testSum() {
        System.out.println("@Test sum(): " + sum + " = " + testSum);
        assertEquals(sum, testSum);
    }
}

然后编译执行:

javac -d . Calculate.java
javac -d . CalculateTest.java
java org.junit.runner.JUnitCore com.trustie.test.CalculateTest

 就可以看到如下打印:

9e6581ec179a441a9d0006dc1521975e.png

至此,Junit环境配置成功,可以在本机命令行下运行Junit测试。

其实在命令行中运行JUnit测试,使用了org.junit.runner.JUnitCore类。 这个类提供了runClasses()方法,它允许运行一个或多个测试类。runClasses()方法返回类型是org.junit.runner.Result对象类型。 这个对象可以被用来收集关于测试信息。此外,如果有一个失败的测试,可以用org.junit.runner.notification.Failure对象保存失败测试的描述。

 

补全TestRunner.java中的代码,如果测试类JunitSubTest.java中的测试都通过,则main函数会打印true。

本关涉及的代码文件TestRunner.java的代码如下:

package step4;


import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;

public class TestRunner {
   public static void main(String[] args) {
    //请在Begin/End内加一行代码,要求如果测试类JunitSubTest.java中的测试都通过,则main函数会打印true
    /******************************Begin**************************************************/
       Result result = JUnitCore.runClasses(JunitSubTest.class);
    /******************************End****************************************************/
      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }
      System.out.println(result.wasSuccessful());
   }
}

 

 

 

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值